Я пытаюсь перейти на другую страницу внутри эффекта и получаю следующую ошибку: мне было интересно, могу ли я все равно использовать внутренние эффекты маршрутизатора.
Effect "NavigateToPageEffects.updatePageId$" dispatched an invalid action
@Injectable()
export class NavigateToWorkflowEffects {
constructor(
private actions$: Actions,
private router: Router
) { }
@Effect()
updatePageId$ = this.actions$
.ofType(NAVIGATE_TO_PAGE)
.map((action: Action) => (action as NavigateToPageAction).payload)
.map((page: PageViewModel) =>
this.router.navigate([RoutePaths.page, page.id]));
Причина, по которой я просматриваю эффект, заключается в том, что мне нужно сначала выполнить другое действие, а затем перейти. Мой исходный код внутри моего компонента выглядел так, как показано ниже, но у меня возникла проблема с порядком выполнения:
savedClicked(page: PageViewModel) {
this.store.dispatch(new NavigateToPageAction(page));
this.router.navigate([RoutePaths.page, page.id]);
}
@ Rohit.007 Большое спасибо за ссылку, @Effect({ dispatch: false }) сделал за меня всю работу!





Привет! Посмотрите, может ли эта статья вам помочь. бетонная страница.com/angular-2/ngrx/ngrx-effects-4-example.