我发现许多示例,其中ActivatedRoute
可观察对象(例如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);
}
Observable
? Router
中的ActivatedRoute对象树发生了什么。 routerState
? 最佳答案
From the docs:
订阅组件中的可观察对象时,几乎总是在组件被破坏时安排退订。
有一些不需要观察的异常观测值。可以看到ActivatedRoute可观察项。
ActivatedRoute及其可观察物与路由器本身绝缘。当不再需要路由组件时,路由器将销毁该路由组件,并且注入(inject)的ActivatedRoute随之死亡。
随时可以退订。这是无害的,绝不是坏习惯。