使用自定义指令的angular translate

时间:2016-02-28 21:40:06

标签: angular-directive angular-translate

目前我正在使用angular translate创建自己的指令。作为图像的工具提示,我正在使用一些翻译。当我切换语言时,翻译文本保持不变,应该更改。我认为,该指令使用当前的转换值编译了一次,但我不知道如何在我切换语言时更新它(某种重新编译)。

在我的指令代码下面。

'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 个答案:

答案 0 :(得分:0)

简而言之,解决方案是:translate-attr-tooltip="RETURN"

请勿在指令模板中使用$filter,而应使用angular-translate指令translate-attr-*https://angular-translate.github.io/docs/#/api/pascalprecht.translate.directive:translate)。

这是一个可以玩的JSFiddle - http://jsfiddle.net/ku326j6p/2/