我发现很多例子,其中ActivatedRoute Observables像params或url订阅但不是取消订阅.
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); }
>是否为每个组件创建自动创建路由对象和订阅?
>我必须关心从这些可观测量中取消订阅吗?
>如果没有,你能否解释在Router.routerState中的ActivatedRoute对象树中会发生什么?
From the docs:
当订阅组件中的可观察时,几乎总是安排在组件被销毁时取消订阅.
有一些特殊的可观测量,这不是必需的. ActivatedRoute可观察器是例外.
ActivatedRoute及其可观察器与路由器本身绝缘.当不再需要路由组件时,路由器会破坏路由组件,并注入ActivatedRoute.
随时取消订阅.它是无害的,从来不是一个糟糕的做法.