Возьмите этот код, например:
@Component({
selector: 'some-chart',
template: '<div></div>,
})
class ChartingThing implements OnInit {
mySubscription: Subscription = new Subscription();
ngOnInit() {
this.mySubscription.subscribe((blah) => {
console.log(blah);
});
}
}
Когда Angular очистит этот компонент, это автоматически уничтожит подписку?Или мне нужно вызвать this.mySubscription.unsubscribe()
в методе ngOnDestroy?Я мог видеть необходимость отписаться от подписки, если Angular кэширует компоненты или что-то в этом роде.
Это не то же самое, что: Angular / RxJs Когда мне следует отписаться от `Subscription`
В каждом из приведенных здесь примеров они говорят о том, чтобы отказаться от подписки на услугу.Это имеет смысл сделать, поскольку служба не обязательно будет уничтожена только потому, что компонент уничтожен.
Здесь я четко ссылаюсь на тему, созданную этим классом.Я хочу знать, нужно ли mySubscription
быть completed
в ngOnDestroy или он будет очищен, потому что класс уничтожен и свойство mySubscription будет уничтожено вместе с ним или чем-то еще полностью.