Получить значение InjectionToken в модуле? - PullRequest
0 голосов
/ 03 августа 2020

Добрый день. У меня есть InjectionToken, который я вставляю в компоненты своего приложения, используя @Inject () в их конструкторах. Мне нужно получить значение указанного токена в моем AppRoutingModule, но я не смог найти способ его ввести. Возможно ли это сделать? Есть ли лучшая альтернатива? Мне удалось использовать значение InjectionToken в модуле, сделав его зависимым от поставщика:

{provide: MY_TOKEN, deps: [LOCALE_ID], useFactory: getMyTokenBasedOnLocaleId }

, но в этом случае мне нужно будет использовать его в маршруте. Концептуально это было бы так:

{
    matcher: matchUrlBasedOnTokenValue,
    deps: [LOCALE_ID],
    loadChildren: () =>
      import('./views/myView/view.module').then(mod => mod.ViewModule)
}

Что позволило бы мне вставить токен в функцию matchUrlBasedOnTokenValue(). Однако в роутере нет свойства deps. Есть ли аналогичный способ сделать это или, в более общем плане, способ изменить поведение в RoutingModule на основе значения InjectionToken?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...