0
好男人我很確定它記錄在某處,但我似乎無法找到它,這就是爲什麼我提前道歉,如果它已被討論。通過兩個控制器之間的過濾器共享服務在角度1.3.x中不起作用
我試圖通過不同的控制器/指令等通過過濾器共享本地化服務。 在角1.2.x它工作,但在1.3.x它沒有。
參見plunkr 取消對腳本的1.2.x/1.3.x中找到它之間
var app = angular.module('plunker', []);
app.service('trnsService', ['$rootScope',
function($rootScope) {
var trnsService = {},
trns = {
'CONSTANT': {
'en': 'En text',
'bla': 'Bla text'
}
},
lan = 'en';
trnsService.setLang = function setLang(lang) {
lan = lang;
console.log(lan);
if (!$rootScope.$$phase) {
$rootScope.$apply();
}
};
trnsService.getTrns = function getTrns(key) {
return trns[key][lan]
};
return trnsService;
}
])
.filter('trns', ['trnsService',
function(trnsService) {
return function(input) {
return trnsService.getTrns(input);
};
}
])
.controller('MainCtrl', function($scope, trnsService) {
$scope.setLang = function setLang(lg) {
trnsService.setLang(lg);
}
})
.controller('SecCtrl', function($scope, trnsService) {
$scope.setLang = function setLang(lg) {
trnsService.setLang(lg);
}
});