@a_mih

Почему селектор не видит обновление данных в сторе NgRx?

Есть родительский компонент. В 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();
    }
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы