gpt4 book ai didi

angular - 您必须取消订阅组件中的 QueryList 吗?

转载 作者:太空狗 更新时间:2023-10-29 17:26:28 26 4
gpt4 key购买 nike

当使用 @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。它为你做。

看这里: https://github.com/angular/angular/blob/7d137d7f8872a6fba72668e32f9baf2c5dcfc48b/packages/core/src/linker/query_list.ts#L115

作为一般规则,当 Observable 在组件销毁后保持事件状态时,我会取消订阅。适用于大多数场景。

关于angular - 您必须取消订阅组件中的 QueryList 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51391935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com