我有一个包含“Product”组件的组件“ProductList”。 当列表更改时,我想删除旧的eventlistener并添加一个新的............
@ViewChildren(ProductComponent) products: QueryList<any>;
然后我订阅了ngAfterViewInit hook中的QueryList更改
this.products.changes.subscribe(products => {
console.log(‘changes’, this.products.length);
});
问题是当更新查询列表时它会触发两次..一次更新列表之前和之后一次.. ??
答案 0 :(得分:0)
当列表更改时,您不需要删除侦听器并添加新侦听器。 QueryList在新元素到达时更新。
了解文档的内容:
当应用程序状态发生变化时,Angular保持最新的不可修改的项目列表。