Angular 9 - ngx-translate, избегайте повторения кода конструктора в нескольких компонентах - PullRequest
1 голос
/ 06 апреля 2020

Я недавно начал работать над проектом Angular 9, я использую ngx-translate для интернационализации. Я реализовал basi c po c, используя это https://stackblitz.com/github/ngx-translate/example

Проблема в том, что код внутри конструктора должен повторяться несколько раз в разных компонентах, мне нужно избегать такого дублирования кода в нескольких компонентах.

constructor(public translate: TranslateService) {
translate.addLangs(['en', 'fr']);
translate.setDefaultLang('en');

const browserLang = translate.getBrowserLang();
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');}

Я пытался следовать этому подходу Angular 5 - внедрение поставщика услуг во все компоненты с расширениями , но не удалось.

Любой помощь будет оценена. Спасибо

1 Ответ

2 голосов
/ 06 апреля 2020

То, что вы сделали со своим стеком, - блиц, это правильно;

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

Вот обновленный стек стека (проверьте компонент comp2) https://stackblitz.com/edit/github-dcfbmu

...