当使用 @ContentChildren
或 @ViewChildren
装饰器来监听 DOM 元素的变化时。我必须取消订阅 QueryList
吗?
例如:
@Component({...})
export class ParentComponent implements AfterContentInit {
@ContentChildren(ChildComponent)
public children: QueryList<ChildComponent>;
public ngAfterContentInit(): void {
this.children.changes.subscribe(() => ....);
}
}
以上会不会有问题?
更新:
我问的原因是我们不必取消订阅 @Output
装饰器。当组件被销毁时,它们会自动取消订阅。
我找不到任何说明这与 QueryList
相同的文档。
最佳答案
您不必取消订阅 QueryList。它为你做。
作为一般规则,当 Observable 在组件销毁后保持事件状态时,我会取消订阅。适用于大多数场景。
关于angular - 您必须取消订阅组件中的 QueryList 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51391935/