gpt4 book ai didi

angular - 我是否必须取消订阅 ActivatedRoute(例如 params)可观察量?

转载 作者:太空狗 更新时间:2023-10-29 16:47:15 27 4
gpt4 key购买 nike

我发现很多例子中 ActivatedRoute Observable 像 paramsurl 被订阅但没有取消订阅。

constructor(private route: ActivatedRoute) {}

ngOnInit() {
this.route.params
// (+) converts string 'id' to a number
.switchMap((params: Params) => this.service.getHero(+params['id']))
.subscribe((hero: Hero) => this.hero = hero);
}
  • 路由对象和订阅是否会自动销毁并在每次创建组件时重新创建?
  • 我必须关心取消订阅那些 Observable 吗?
  • 如果不是,您能否解释一下 Router.routerState 中的 ActivatedRoute 对象树会发生什么情况?

最佳答案

没有

From the docs :

订阅组件中的可观察对象时,您几乎总是安排在组件销毁时取消订阅。

有一些少数特殊的可观察到的情况是没有必要的。 ActivatedRoute observables 属于异常(exception)

ActivatedRoute 及其可观察对象与路由器本身隔离。当不再需要路由组件时,路由器会销毁它,注入(inject)的 ActivatedRoute 也会随之消失。

请随时退订。这是无害的,绝不是坏习惯。

关于angular - 我是否必须取消订阅 ActivatedRoute(例如 params)可观察量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41138081/

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