以此代码为例:
@Component({
selector: 'some-chart',
template: '<div></div>,
})
class ChartingThing implements OnInit {
mySubscription: Subscription = new Subscription();
ngOnInit() {
this.mySubscription.subscribe((blah) => {
console.log(blah);
});
}
}
当Angular清理此组件时,会自动销毁订阅吗?或者我需要在ngOnDestroy方法中调用 this.mySubscription.unsubscribe()
吗?如果Angular正在缓存组件或那种性质的东西,我可以看到需要调用unsubscribe .
这与以下内容不同:Angular/RxJs When should I unsubscribe from Subscription
在那里的每个例子中,他们都在谈论从注入的服务取消订阅 . 这是有意义的,因为服务不一定会因为组件被销毁而被销毁 .
在这里,我清楚地引用了这个类创建的主题 . 我想知道 mySubscription
是否需要在ngOnDestroy中 completed
,或者它是否被清理,因为该类被销毁并且mySubscription属性将被它或其他完全破坏 .