我有两个文件,一个Angular指令和一个Controller。 Controller注入了translate功能,但是我需要将它注入指令中,以便我可以在那里进行一些翻译。 问题是,每次我尝试注入翻译模块时,它都不会这样做。 (我在另一个文件中定义了字符串,我猜测这不是问题。) 到目前为止我的代码看起来像这样:
appmod = angular.module('directive', []);
appmod.directive('gvPivot', ['$translate', function() {
return {
restrict : "E",
replace : true,
scope : {
name : "@",
data : "="
},
template : '',
link : function(scope, iElement, iAttrs, controller, transcludeFn, translate) {
scope.$watch("data", function(newValue, oldValue, translate) {
console.log('{{ "Translated text" | translate}}');
我期望的结果是它记录了翻译文本"对语言。
但它记录的是
{{ "Text to translate" | translate}}
我知道我可能经常在太多不正确的地方注入翻译方式,但截至目前我只是在做霰弹枪的方法,并尝试将其插入任何可能适合的地方。
答案 0 :(得分:0)
我找到了翻译文本的另一种方法,也是注入$ filter。
appmod.directive('gvPivot', ['$translate', '$filter', function($translate, $filter) {
return {
restrict : "E",
replace : true,
scope : {
name: "@",
data : "="
},
template : '',
link : function(scope, iElement, iAttrs, controller, transcludeFn) {
console.log($filter('translate')('translate this'));