Как вывести NavigationExtras в магазин с помощью NgRx-router-store? - PullRequest
0 голосов
/ 30 октября 2019

Я хочу сохранить состояние NavigationExtras Информация о навигационном вызове в хранилище. Я пытаюсь использовать NgRx router-store для этого.

Я создал RouterStateSerializer, но отсюда я не могу получить доступ к данным NavigationExtras. Фактическое решение сохраняет состояние в следующей навигации (потому что я использую history.state).

У кого-нибудь есть идеи, как решить эту проблему?

export interface IRouterStateUrl {
  url: string;
  params: any;
  state: any;
}

export class AppRouterStateSerializer implements RouterStateSerializer<IRouterStateUrl> {

  serialize(routerState: RouterStateSnapshot): IRouterStateUrl {
    const {url} = routerState;
    const params = routerState.root.firstChild ? routerState.root.firstChild.params : {};
    const state = history.state;

    return {
      url,
      params,
      state
    };
  }
}

Ожидайте найти данные navigation_extraв магазине.

...