translateLoadingSuccess никогда не вызывается angular-translate

Я использую angular-translate для переводов и пытаюсь избежать FOUC.

angular.forEach(translations, function(translation){
  $translateProvider.translations(translation.locale, translation.translations);
});

$translateProvider.preferredLanguage(settings.defaultLocale);

и я пытаюсь сделать это в одном из моих html

<h3 class="xxxx" translate translate-cloak>{{'ITEMS'}}</h3>

Но я все еще вижу поведение FOUC. Любые идеи или предложения. Когда я отлаживаю скрипт, я вижу, что событие $translateLoadingSuccess никогда не вызывается, поэтому все мои элементы невидимы даже после загрузки страницы.


person Gaurav18ca    schedule 27.07.2014    source источник


Ответы (2)


если вы хотите избежать FOUC, вам нужен ng-cloak. Вы должны добавить его следующим образом:

<body class="{{ bodyClass }}" ng-cloak>

и это предотвратит нежелательное мигание. ССЫЛКА НА ДОКУМЕНТЫ ANGULAR

person harishr    schedule 27.07.2014
comment
У меня уже есть ng-cloak, но он не работает в тех случаях, когда я отображаю изображения с URL-адреса... когда я попадаю на page.html. И вот когда происходит FOUC - person Gaurav18ca; 27.07.2014

Я смог решить проблему с помощью ngBind. а затем переместил логин перевода в контроллер

$translate('KEY').then(function(newValue){
    $scope.KEY = newValue;
});

Также необходимо убедиться, что вы используете ngSanitize для настройки в app.config.

person Gaurav18ca    schedule 28.07.2014