Angular QueryList更改

时间:2018-03-30 12:10:04

标签: angular ngrx

我有一个包含“Product”组件的组件“ProductList”。 当列表更改时,我想删除旧的eventlistener并添加一个新的............

@ViewChildren(ProductComponent) products: QueryList<any>;

然后我订阅了ngAfterViewInit hook中的QueryList更改

this.products.changes.subscribe(products => {
 console.log(‘changes’, this.products.length);
});

问题是当更新查询列表时它会触发两次..一次更新列表之前和之后一次.. ??

1 个答案:

答案 0 :(得分:0)

当列表更改时,您不需要删除侦听器并添加新侦听器。 QueryList在新元素到达时更新。

了解文档的内容:

  

当应用程序状态发生变化时,Angular保持最新的不可修改的项目列表。

Documentation