ngrx-store-4.0

Angular router guard and ROUTER_NAVIGATION effect order

房东的猫 提交于 2019-12-04 11:44:29
There is a simple (Angular 4) route guard, which waits for some data to be loaded from backend: @Injectable() export class ContractsLoadedGuard implements CanActivate { constructor(private store: Store<State>) { } waitForData(): Observable<boolean> { return this.store.select(state => state.contracts) .map(contractList => !!contractList) .filter(loaded => loaded) .take(1); } canActivate(): Observable<boolean> { return this.waitForData(); } } Routing: const routes: Routes = [ { path: 'app-list', canActivate: [ContractsLoadedGuard], component: AppListComponent }, ]; And finally there is an @ngrx