【发布时间】:2019-11-28 21:21:29
【问题描述】:
我正在开发功能,如果在状态中加载或加载的值是 true,则不需要分派。 我在发货前检查商店中的两个值时遇到问题。 有没有办法在调度操作之前组合两个选择器?
我需要可以有两种可能的状态形式:
State = {
list: [],
loading: true,
loaded: false
}
或
State = {
list: [],
loading: false,
loaded: true
}
我正在尝试使用两个选择器(我的组件中的方法):
checkStore() {
return this.store.select(getLoading).pipe(
tap(loading => {
if (!loading) {
this.store.select(getLoaded).pipe(
tap(loaded => {
if (!loaded) {
this.store.dispatch(fetchList({ payload: {something} }));
}
}),
take(1)
);
} else {
this.store.dispatch(fetchList({ payload: {something} }));
}
}),
take(1)
);
}
然后在 ngOnInit() 中调用这样的方法 正如我所见,没有任何东西以这种方式发送。也许您对实现此类功能有建议?
【问题讨论】:
-
但没有订阅上述内容;如果没有人订阅,则不会启动。如果你想让 Observable 触发,那么你首先需要订阅它。除非你没有在这里粘贴订阅部分?
-
@RobertDinaro 我在 ngOnInit 上订阅它,只是没有粘贴代码
标签: angular ngrx ngrx-store