如何在NgRx中选择多个状态
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在NgRx中选择多个状态相关的知识,希望对你有一定的参考价值。
@Injectable()
export class UsersResolver implements Resolve<any>
loading = false;
constructor(private store: Store<AppState>)
resolve(route: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<any>
return this.store
.pipe(
select(isUserLoaded),
tap(userLoaded =>
if (!this.loading && !userLoaded)
this.loading = true;
this.store.dispatch(loadingUsers(
pagination: // **Here i want to get my pagination details from selectUserPagination state**
));
),
filter(userLoaded => userLoaded), // only proceed further only in case of coursesLoaded is true
first(), // Wait for first observable to get values or error
finalize(() => this.loading = false) // Runs in last
);
因此要选择我的userPagination状态并将其分派到loadUsers动作中。
如何将多个选择添加到此解析器,然后分派该操作?
答案
您可以使用withLatestFrom
来获取状态的另一部分:
另一答案
您可以尝试combineLatest
以上是关于如何在NgRx中选择多个状态的主要内容,如果未能解决你的问题,请参考以下文章
在单元测试中:如何覆盖由 entityAdapter.getSelectors() 创建的 NGRX 选择器
Ngrx Store 在浏览器刷新后重置。如何让应用保持状态?