Я настраиваю маршрутизацию для приложения, но не выясняю, почему угловая навигация магазина не работает, когда путь относительно в эффекте ngrx.
Вот некоторый код, чтобы показать пример.Пожалуйста, посмотрите https://github.com/gioele-94/ionic4-relative-path-routing-ngrx, если вы хотите увидеть полный код или проверить его.
После того, как я нажму на кнопку со страницы 1
<ion-button color="secondary" (click)="goOnRelative()">Go (with relative routing)</ion-button>
, эта функция называется
goOnRelative(): void {
this.store.dispatch(new RouterActions.Go({
path: ['../forwarded'],
relative: true
}));
}
, которая вызывает эффект ngrx 'Go'
@Effect({dispatch: false})
navigate$ = this.actions$.pipe(
ofType<Go>(RouterActionTypes.Go),
map(action => action.payload),
tap(({path, relative, query: queryParams, extras}) => {
if (relative) {
extras = extras ? {
...extras,
relativeTo:
RouterEffects.getLastChildRoute(this.activeRoute)
} : {relativeTo:
RouterEffects.getLastChildRoute(this.activeRoute)};
}
console.debug(path, extras);
this.router.navigate(path, {queryParams, ...extras});
})
);
где getLastChildRoute () выбирает только последний дочерний путь, с которого начинается навигация.
В настоящее время эффект работает очень хорошо, если указан абсолютный путь.Работает только один раз, когда указывается относительный путь.
Что-то не так?Как правильно это осуществить?
Спасибо за помощь!