#angular
#angular
Вопрос:
У меня есть ионное / угловое приложение. В этом приложении я реализую локализацию.
Целью было бы:
Чтобы получить текущую культуру:
- Если пользователь вошел в систему, получите язык из его профиля
- Если пользователь не вошел в систему, получите язык из браузера
Чтобы установить текущую культуру:
- Если пользователь вошел в систему, сохраните язык в его профиле
У меня есть один модуль для аутентификации, у меня есть один модуль для локализации.
Я думал установить где-нибудь какой-нибудь код, который будет делать:
- При запуске приложения зарегистрируйте текущие изменения пользователя и, если пользователь изменен, вызовите службу локализации для переключения языка
- При изменении языка, если пользователь вошел в систему, сохраните новый язык
Я вижу именно тот код, который мне нужно сделать, но я не уверен, КУДА я должен это поместить? непосредственно внутри модуля кажется грязным, если я помещу его в службу, мне все равно нужно вызвать какой-то метод, чтобы активировать его.
Где правильный способ поместить такую логику?
Комментарии:
1. Вы можете зарегистрировать a
Subject
на этапе инициализации в какой-либо службе, которая сама обрабатываетtranslation
при изменении какого-либо состояния, поэтому вам не нужно активировать вручную2. взгляните на authGuards . может быть, это будет полезно для вас.
3. @AbdulrahmanFalyoun вы могли бы поместить свой сервис или эту часть логики в свой сервис autGuard, который, безусловно, вам придется позаботиться об аутентификации.
4. @AbdulrahmanFalyoun Службы 2 уже предоставляют некоторые наблюдаемые для регистрации. Мой вопрос в том, куда мне это поместить?
5. @FarhatZaman У меня уже есть настройка AuthGuard, но
guard
выполняется только на определенной странице, и каждый раз, когда вы переходите на эту страницу, верно?