maximkv25
@maximkv25
web-developer

Как добавить класс к тегу?

Есть темплейт, при клике на языки, им добавляется класс, но при первой загрузке страницы так же нужно добавить его для подсвечивания текущего языка
<div ng-init="selectedLang = { currentLanguage } " class="buttonsPanelRow">
			<p id="ru" ng-class="{'setLanguageButtonActive':selectedLang === 'ru'}" class="setLanguageButton" ng-click='switchLanguage("ru"); selectedLang = "ru"'>Русский</p>
			<p id="en" ng-class="{'setLanguageButtonActive':selectedLang === 'en'}" class="setLanguageButton" ng-click='switchLanguage("en"); selectedLang = "en"'>English</p>
		</div>


В контроллере
$scope.switchLanguage = function(key) {
			$translate.use(key);
			localStorage.setItem('NG_TRANSLATE_LANG_KEY', key);
		}


Текущий язык хранится в localstorage, как при первой загрузке подсветить выбранный язык?
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
filgaponenko
@filgaponenko
frontend developer
Вам необходимо в хуке жизненного цикла onInit проверить существование нужной переменной в localStorage и если такая переменная есть – инициализировать selectedLang нужным значением.
Если переменной в localStorage нет – следует инициализировать selectedLang стандартным значением, например en.
https://angular.io/guide/lifecycle-hooks
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы