2016-02-25 10 views
6

जांचें मेरे पास प्रोजेक्टनामों की जांच करने के लिए एक सूची है। नीचे मैं उन सभी को चेक या अनचेक करने के लिए चेकबॉक्स रखना चाहता हूं। मुझे लगता है कि मुझे एक * ngFf (यदि चेक किया गया है) के साथ * ngFf लूप (सभी की जांच करें) की आवश्यकता है लेकिन यह काफी चुनौती है ... मैं यह नहीं समझ सकता कि मुझे इसके साथ प्रक्रिया कैसे करनी चाहिए। क्या मैं (चेक) या कुछ या * ngIf = "(चेक)" का उपयोग करता हूं और फिर प्रोजेक्ट सेट करने के लिए * ngFor लूप का उपयोग करता हूं। जांच की गई। मैं इसके तर्क के अंदर नहीं आ सकता।कोणीय 2 चेकबॉक्स सभी

<input type="checkbox" [ngFormControl]="allCtrl"/> 

allCtrl घटक के निर्माता के भीतर आरंभ नहीं हो जाता: जब उपयोगकर्ता चेक या unchecks

<div id="drp-project-select"> 
     <div class="scroller" [hidden]="!showMenu"> 
      <div id="search-wrapper"> 
       <i class="fa fa-search fa-xs"></i> 
       <input [(ngModel)]="searchTerm" type="text" placeholder="Zoek op naam..." #search> 
      </div> 
      <ul> 
       <li *ngFor="#project of projectdata.LoginResponse?.ProjectVM | searchpipe:'Project':search.value"> 
        <label class="checkbox-label" > 
         <input type="checkbox" class="dropdown-checkbox" [(ngModel)]="project.isChecked" (change)="addProject(project)" > 
         <span>{{project.Project}}</span> 
        </label> 
       </li> 
      </ul> 
     </div> 
     <div class="bottom-data" [hidden]="!showMenu"> 
      <label><input type="checkbox" id="bottom-checkbox"></label> 
     </div> 
    </div> 

उत्तर

4

मैं "जाँच/सब सही का निशान हटाएँ" चेकबॉक्स पर एक नियंत्रण का प्रयोग करेंगे अधिसूचित किया जाना है। तो फिर तुम रजिस्टर कर सकता है के खिलाफ इस पर नियंत्रण के valueChanges संपत्ति के अपडेट के लिए सूचित किया और उसके अनुसार isChecked फ़ील्ड अपडेट: "। अप्रत्याशित टोकन"

constructor() { 
    this.allCtrl = new Control(); 
    this.allCtrl.valueChanges.subscribe(
    (val) => { 
     this.projectdata.LoginResponse.ProjectVM.forEach((project) => { 
     project.isChecked = val; 
     }); 
    }); 
} 
+0

मैं कह एक त्रुटि मिली सावधानीपूर्वक निरीक्षण के बाद मुझे आश्चर्य हुआ कि क्या एल्विस ऑपरेटर काम करता है, और ऐसा नहीं हुआ। एल्विस ऑपरेटर को कन्स्ट्रक्टर से हटा दिया गया था और यह अब बहुत अच्छा काम करता है :) क्या आप अपने उत्तर को संपादित करना चाहते हैं ताकि अगर यह पोस्ट भविष्य में देखा जाए तो ऑपरेटर फेंक नहीं देगा? फिर मैं आपके उत्तर को सही के रूप में चिह्नित कर सकता हूं। – JanVanHaudt

+1

ओह मेरे भगवान। यह एक टाइपो है। एल्विस ऑपरेटर का उपयोग केवल दृश्य में अभिव्यक्ति के साथ किया जा सकता है न कि टाइपस्क्रिप्ट कोड में ... इसे इंगित करने के लिए धन्यवाद! मैंने अपना जवाब अपडेट किया। –

+0

'नियंत्रण' कहां से आता है? – avoliva