Угловой набор APP_BASE_HREF от LOCALE_ID - PullRequest
0 голосов
/ 26 сентября 2019

Я интернационализирую свое приложение прямо сейчас.Поскольку я использую маршрутизацию в приложении, я должен установить APP_BASE_HREF в файле routing-module.ts.

  providers: [
    {provide: APP_BASE_HREF, useValue: '/fr' }
  ]

Как я могу установить значение динамически, в зависимости от текущего языка?

Вот что я пытался сделать.Но это не удалось.

import { NgModule, LOCALE_ID } from '@angular/core';
...

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule],
  providers: [
    {provide: APP_BASE_HREF, useValue: '/' + LOCALE_ID}
  ]
})
export class AppRoutingModule {
}

1 Ответ

0 голосов
/ 26 сентября 2019

В этом контексте вы используете токен инъекции LOCALE_ID.Вам нужно получить значение токена.Вы можете сделать это, используя фабрику:

providers: [
  {
    provide: APP_BASE_HREF,
    useFactory: (locale: string) => locale,
    deps: [LOCALE_ID]
  },
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...