angular 4如何访问ViewChildren _results

时间:2017-08-03 11:39:43

标签: javascript angular

我有一个ngFor中的复选框列表:

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

我在组件中引用它们是这样的:

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

然后在ngAfterViewInit中我需要循环它们:

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

但我得到: 属性'_results'是私有的,只能在类'QueryList'中访问  在控制台中我看到了这个: enter image description here 所以你可以看到_results中有数组。但我怎样才能访问它并循环呢?

2 个答案:

答案 0 :(得分:16)

调用toArray()方法:

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

答案 1 :(得分:0)

要访问元素,您必须等待其准备就绪

this.hangchecks.changes.subscribe(a => a.forEach((b, i) => console.log(b)));