如何解决Angular Route Resolve无法与NgRx一起使用存储预先填充的数据
当我拥有prepopopulatedData时,Angular Route Resolver无法正常工作。 PFB下面的代码。让我知道如何解决
@Injectable()
export class CommonDataResolver implements Resolve<CommonDataType> {
constructor(private store: Store<AppState>,private actions$: Actions) {}
resolve(
route: ActivatedRouteSnapshot,state: RouterStateSnapshot
): Observable<CommonDataType> | Promise<CommonDataType> {
return this.store.select('commonState').pipe(
take(1),map((commonState) => {
const { skills } = commonState;
console.log(skills);
if (skills.length > 0) {
return { skills };
}
return null;
}),switchMap((data: CommonDataType) => {
console.log(data);
if (!data || data.skills.length < 1) {
this.store.dispatch(new LoadingStart());
return this.actions$.pipe(ofType(LOADING_SUCCESS),take(1));
} else {
return of(data);
}
})
);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。