Использование углового перевода с пользовательской директивой

В настоящее время я создаю свою собственную директиву, используя угловой перевод. В качестве всплывающей подсказки для изображения я использую перевод. Когда я переключаю язык, текст перевода остается тем же, когда он должен измениться. Я думаю, что директива была скомпилирована один раз с текущим значением перевода, но я не знаю, как обновить его каждый раз, когда я переключаю свой язык (какая-то перекомпиляция).

Ниже мой код директивы.

'use strict';

angular.module('HomeModule')

.directive("headerName", ["tabService", "imageService", "$translate", "$filter", function(tabService, imageService, $translate, $filter){
 var directive = {};
    
 directive.restrict = 'E';
    
 directive.template = '<div class="vcenter"><img ng-src="' + imageService.getImageByKey('arrowLeftSrc') + '" height="20px" tooltip-class="custom-tooltip" tooltip="' + $filter('translate')('RETURN') + '" tooltip-placement="bottom" tooltip-popup-delay="500" class="return-arrow"/></div>' +
       '<div class="vcenter"><i class="fa fa-angle-down fa-2x"/></div>';
    
 directive.scope = {}
 
 return directive;
}]);

1 ответ

Короче говоря, решение: translate-attr-tooltip="RETURN",

Не используйте $filter в вашем шаблоне директивы, но директива углового перевода translate-attr-* ( https://angular-translate.github.io/docs/).

Вот JSFiddle, чтобы поиграть - http://jsfiddle.net/ku326j6p/2/

Другие вопросы по тегам