TranslateService.use () работает половину времени (ngx-translate) - PullRequest
0 голосов
/ 15 января 2020

Мое приложение получает информацию о локализации из бэкэнда через наблюдаемый внутри некоторого модуля локализации

constructor(translate: TranslateService){
  locale.subscribe(fetched_lang =>
    translate.use(fetched_lang)
  );
}

Проблема в том, что язык может быть получен как до , а также после root компонент нач. В первом случае код работает нормально, но во втором случае translate.use() не обновляет переводы, но в соответствии с сетью devtools получает json с переводами.

После этого я попытался вручную переключиться на другой язык с помощью простого

<button (click)="translate.use(other_lang)"></button>

И когда я нажал кнопку, сначала быстро отобразились переводы с fetched_language, а после этого переключился на other_lang ,

Вопрос в том, как изменить перевод сразу после извлечения языка?

1 Ответ

0 голосов
/ 16 января 2020

Ответ (вероятно) заключается в том, что NgZone не обнаруживает асинхронный поток данных c. Вот почему вам нужно положить translate.use() внутрь NgZone.run()

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