以此代码为例:
@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`
不同在那里的每个例子中,他们都在谈论取消订阅注入的服务。这是有道理的,因为服务不一定会因为组件被销毁而被销毁。
在这里,我清楚地引用了这个类创建的主题。我想知道ngOnDestroy中mySubscription
是否需要completed
,或者它是否被清理,因为类被销毁,mySubscription属性会被它或其它东西完全破坏。