我以这种方式拥有我的ngrx状态
状态数据
state.dataArchived
我想将数据从 store.data 复制到 state.dataArchived。
selectedSchedulingsOnPopup$ = this.store.pipe(select(selectSchedulingsByBranch));
ngOnInit() {
this.store.dispatch(new GetDirectionsOnGraph({}));
this.selectedSchedulingsOnPopup$.subscribe(value => {
this.selectedSchedulingsOnPopupValue = value;
this.store.dispatch(new GetDirectionsOnGraph(this.selectedSchedulingsOnPopupValue));
});
}
问题是当
state.data
更改,state.dataArchived
也会改变所以我想得到
state.data
的当前值不订阅它。
最佳答案
我不明白这个问题,但是如果您想在不订阅的情况下获得值(value),您可以将其转换为 promise 。
async ngOnInit() {
const data = await this.store.pipe(select(selectorForData),
take(1)).toPromise();
}
请记住,以这种 promise 方式,它只会 react 一次并获取数据并继续。如果你想知道数据切片的变化,你必须订阅它,没有别的办法。
关于javascript - 无需订阅即可获取 ngrx 选择器的当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59616038/