【问题标题】:Unsubscribing from queryparammap - has this become necessary?从 queryparammap 退订 - 这有必要吗?
【发布时间】:2023-03-27 16:08:01
【问题描述】:

在 Angular 的 ActivatedRoute 中搜索订阅管理,得到了对 Angular 文档的相同引用,其中指出您不必取消订阅 ActivatedRoute observables,因为它会被路由器彻底拆除。

但是,当查看文档本身时,它不再有此部分解释这一点。我尝试使用finalize 来测试当组件被销毁时 observable 是否正在完成:

this.activatedRoute.queryParamMap.pipe(finalize(() => console.log('done')).subscribe()

但是,从未调用过控制台日志。我不确定这是因为 observable 直接被破坏了,还是只是保持打开状态。

是否有必要管理ActivatedRoute 的订阅生命周期?

【问题讨论】:

    标签: angular angular-routing


    【解决方案1】:

    每个ActivatedRoute都绑定到一个路由组件,当路由发生变化时,当前显示的组件以及它绑定的ActivatedRoute都会被销毁,所以你不会得到完整的通知。

    我在answer 中对此进行了详细阐述。

    【讨论】:

    • 很棒的解释,正是我想要的。谢谢。
    • 很高兴能帮上忙!
    猜你喜欢
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-17
    相关资源
    最近更新 更多