В родительском компоненте У меня есть список:
items: SomeType;
Этот список получает значения из службы:
this.someService.items$.subscribe(items => {
this.items = items;
});
В какой-то момент этот списокобновляется с новыми критериями:
this.someService.getData(this.criteria);
Это прекрасно работает.
Также есть дочерний компонент , который вставляется для каждого элемента в этом списке:
<ul *ngFor="for let item of items">
<app-list-item [item]="item"></app-list-item>
</ul>
Это тоже работает нормально, но только в первый раз this.items
в родительском компоненте загружается .
дочерний компонент также получает значения из службы:
ngOnInit() {
this.someOtherService.mapping$.subscribe(mapping => {
this.mapping = mapping;
});
}
ngOnDestroy() {
this.someOtherService.mapping$.unsubscribe();
}
Когда критерии в родительском компоненте изменяются и список элементов загружается снова, дочерний компонент завершается ошибкойс этим сообщением об ошибке:
Сообщение об ошибке: «объект отписан» имя: «ObjectUnsubscribeedError»
Когда я удаляю this.someOtherService.mapping$.unsubscribe();
в дочернем компоненте ngOnDestroy
метод, он снова работает.Но не должен ли я unsubscribe
, когда компонент будет уничтожен?