Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在某些事件后加载角度平移_Javascript_Angularjs_Angular Translate - Fatal编程技术网

Javascript 如何在某些事件后加载角度平移

Javascript 如何在某些事件后加载角度平移,javascript,angularjs,angular-translate,Javascript,Angularjs,Angular Translate,我有一个在登录事件后调用的TranslationService,在这个服务中,我想对$translateProvider.translation进行序列化,但这个对象在app.config(…)之外似乎不可访问。在服务中,我想替换以前的翻译。 下面是一些代码: .config(['$translateProvider', function ($translateProvider) { $translateProvider.useStaticFilesLoader({

我有一个在登录事件后调用的TranslationService,在这个服务中,我想对$translateProvider.translation进行序列化,但这个对象在app.config(…)之外似乎不可访问。在服务中,我想替换以前的翻译。 下面是一些代码:

.config(['$translateProvider', function ($translateProvider) {        
    $translateProvider.useStaticFilesLoader({
            prefix: 'i18n/',
            suffix: '.json'
    });
    $translateProvider.preferredLanguage('it');
}]);
在我的翻译服务中,我需要

angular.module('myapp')
    .factory('TranslateService', ['$translate', $translateProvider, function($translate, $translateProvider) {
        $mydata = { "LABEL": "Label" };
        $translateProvider.translations('it', mydata); // injection problem
        $translate.somethingLike_getProvider().translations('it', mydata); // doesn't exist
}]);
诀窍是存储在一个可以稍后访问的变量中:

var-app=angular.module('app',['pascalprecht.translate']);
var提供者=null;
app.config(函数($translateProvider){
提供者=$translateProvider;
$translateProvider.translations('en'{
标题:“你好”,
傅:“这是一段。”
});
$translateProvider.preferredLanguage('en');
});
应用程序工厂('inlineLoaderFactory',函数($q){
返回功能(选项){
var deferred=$q.deferred();
延迟。解析(选项[options.key]);
回报。承诺;
};
});
应用控制器('MainCtrl',函数($scope,$q,$translate){
$scope.override=函数(){
provider.useLoader('inlineLoaderFactory'{
嗯:{
标题:“你好,我的朋友”,
FOO:'TLDR',
自定义:“新密钥”
}
});
$translate.refresh();
};
});