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 (将#修改为@)