我是angularjs&的新手。成功地设置了角度平移。但是我想动态传递前缀路径。例如。在下面的代码段中,我想动态传递国家/地区名称。应该如何实现?请建议。
$translateProvider.useStaticFilesLoader({
prefix: '../translate/uk/',
suffix: '.json'
});
答案 0 :(得分:0)
好吧,我终于找到了解决方案。创建了一个自定义加载器,如下所示:
app.factory('customLoader',
function ($http, $q, $timeout, $rootScope) {
return function (options) {
var deferred = $q.defer();
var filename = $rootScope.name;
console.log('../translate/' + filename + '/' + options.key + '.json');
$http({
method:'GET',
url: '../translate/' + filename + '/' + options.key + '.json'
}).success(function (data) {
deferred.resolve(data);
}).error(function () {
deferred.reject(options.key);
});
$timeout(function (data) {
deferred.resolve(data);
}, 2000);
return deferred.promise;
}
})
在app.config部分配置如下:
$translateProvider.useLoader('customLoader', {});
并从控制器设置文件名(路径),如下所示:
$rootScope.name = $scope.country;