Есть родительский компонент. В NgOnInit есть переменная lines$: Observable;
Перед загрузкой компонента есть резолвер который загружает данные и помещает их в стор.
Этот селектор достает их и передает в дочерний компонент, все работает отлично, но проблема в том что если через какое-то время я обновляю данные в сторе, то этот селектор не отрабатывает и не обновляет данные в компоненте.
lines$: Observable<InventoryActLine[]>;
this.lines$ = this.store.pipe(
select(getLines),
takeUntil(this.unsubscribeAll)
);
Тут они передаются в дочерний компонент.
<inventory-acts-table
[act]="act"
[lines]="lines$ | async"
[deleteSignal]="deleteSignal.asObservable()"
[validator]="validator$ | async"
[currency]="currency$ | async"
[changeFromParent]="changeFromParent"
(allIsSaved)="allIsSaved($event)"
(selectedLinesChange)="selectedLinesChange($event)"
></inventory-acts-table>
Тут дочерний компонент их принимает и вызывает метод
this.initializeTable(val);
для дальнейшей обработки.
@Input() set lines(val: InventoryActLine[]) {
this.cdr.markForCheck();
if (!this.tableRows || !this.tableRows.length || (val.length > this.tableRows.length)) {
this.store.dispatch(new GetItemPrices());
}
this.originalPriceCostAdd();
this.initializeTable(val);
this.cdr.detectChanges();
}