我正在使用 angular-translate 模块并尝试使用 $http 注入服务器上的所有翻译。我使用提供程序,我知道只有我可以通过 $get 注入依赖项,但我不能从我的提供程序调用该函数。我需要知道我是否可以做到这一点以及如何做到这一点。
这是我的提供者。
.provider('languageServices', function (){
this.languages = {};
this.getExistLanguages = function() {
return ['en','es'];
};
this.getAllLanguages = function(){
return this.languages;
};
this.$get = function($http){
return {
getSpecificLanguage : function(lan) {
return this.languages = $http.post('fr3/i18n',lan);
}
}
};
});
这是我的配置应用
.config(function ($stateProvider, $urlRouterProvider, USER_ROLES, $translateProvider, languageServicesProvider) {
$stateProvider.state('dashboard', {
url: '/dashboard',
views: {
'header': {template: ''},
'content': { templateUrl: 'views/dashboard.html' }
},
data: { authorizedRoles: [USER_ROLES.admin] }
});
$translateProvider.preferredLanguage('es');
// here is where i want inject all my translations with something like:
// var languages = languageServicesProvider.getAllLanguages();
//and languages pass it to translateProvider
});
我知道这段代码有一些错误,但我只希望你有一个我想做的想法。
谢谢