2017-08-03 2 views
2

i eine Liste von Kontrollkästchen innerhalb eines ngFor haben:Winkel 4, wie für den Zugriff auf ViewChildren _results

<md-checkbox 
     #hangcheck 
     [id]="hangout?.$key" 
     class="mychecks" 
     > 
    I'm Interested 
    </md-checkbox> 

ich sie in der Komponente, wie so refrence:

@ViewChildren("hangcheck") hangchecks: QueryList<any>; 

dann in ngAfterViewInit benötigen i Schleife sie:

ngAfterViewInit(){ 
console.log('the array: ',this.hangchecks) 
this.hangchecks._results.forEach((item) => { 
    console.log('the item: ',item) 
}); 
} 

aber ich bekomme: Property '_results' ist privat und nur zugänglich wi dünne Klasse 'QueryList' in der Konsole sehe ich dies: enter image description here so wie Sie sehen können, ist das Array in den _results. aber wie kann ich darauf zugreifen und es schleifen?

Antwort

5

aufrufen toArray() Methode:

this.hangchecks.toArray().forEach((item) => { 
+0

das Protokoll innerhalb der Schleife wird nicht ausgeführt = this.hangchecks.toArray() forEach ((item) => { console.log (im folgenden Punkt.: ', item.id) }); – Ron

+1

Was wird 'console.log (this.hangchecks.toArray())' gedruckt? –

+0

empty array- [] length: 0__proto__: Array (0) aber wie du auf dem Bild sehen kannst, hat das Array 2 Elemente – Ron