Ionic4 + angular + ngrx - относительная маршрутизация не работает с ngrx - PullRequest
0 голосов
/ 03 мая 2019

Я настраиваю маршрутизацию для приложения, но не выясняю, почему угловая навигация магазина не работает, когда путь относительно в эффекте 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 () выбирает только последний дочерний путь, с которого начинается навигация.

В настоящее время эффект работает очень хорошо, если указан абсолютный путь.Работает только один раз, когда указывается относительный путь.

Что-то не так?Как правильно это осуществить?

Спасибо за помощь!

...