Использование углового перевода с пользовательской директивой
В настоящее время я создаю свою собственную директиву, используя угловой перевод. В качестве всплывающей подсказки для изображения я использую перевод. Когда я переключаю язык, текст перевода остается тем же, когда он должен измениться. Я думаю, что директива была скомпилирована один раз с текущим значением перевода, но я не знаю, как обновить его каждый раз, когда я переключаю свой язык (какая-то перекомпиляция).
Ниже мой код директивы.
'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/