【发布时间】:2021-07-25 21:56:14
【问题描述】:
我在我的 Angular 应用程序中使用 Ngrx 从存储中获取数据。
我创建了多个存储:上下文、决策和状态,以在对象之间创建功能分离。
我有一个案例,UI 需要同时轮询 2 个不同商店的最新状态,以便启用/禁用按钮。
这是一个示例,其中titi 的状态在单击按钮后从其他组件更新。
我的问题是,我的实际代码无法获得this.titi 的最新状态!
这是我的代码:
export class MyComponent implements OnInit, OnDestroy {
private titi: Titi;
private toto: Toto;
private unsubscribe$: Subject<void> = new Subject<void>();
constructor(private store: Store<State>) {}
ngOnInit() {
this.store.pipe(
select(selectTiti),
takeUntil(this.unsubscribe$)
).subscribe(state => {
this.titi= state.titi;
});
this.store.pipe(
select(selectTata),
takeUntil(this.unsubscribe$)
).subscribe(state => {
this.tata= state.tata;
});
}
public isBtnDisabled() {
return this.titi === 'latest value of titi' && this.tata === 'latest value of tata';
}
....
ngOnDestroy(): void {
this.unsubscribe$.next();
this.unsubscribe$.complete();
}
}
和用户界面:
<button [disabled] = 'isBtnDisabled()'></button>
【问题讨论】:
标签: angular ngrx ngrx-store redux-observable