首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular-translate:带有附加查询参数的urlLoader

angular-translate:带有附加查询参数的urlLoader
EN

Stack Overflow用户
提问于 2016-03-17 20:55:43
回答 2查看 1.4K关注 0票数 2

在使用urlLoader时,是否可以使用额外的GET参数调用angular-translate模块(由Pascal Precht制作),而不只是使用queryParameter one?目前的实现情况如下:

代码语言:javascript
复制
  $translateProvider.useLoader('$translateUrlLoader', {
    url: 'endpoint/translations',
    queryParameter: 'language'
  });

然后在paritucar控制器中如下所示:

代码语言:javascript
复制
$translate.use('en');

我需要做的是用更多的参数来调用它,比如:

代码语言:javascript
复制
  $translateProvider.useLoader('$translateUrlLoader', {
    url: 'endpoint/translations',
    config: {
      queryParameter: 'language',
      secondParam: 'screen',
      thirdParam: 'client'
    }
  });

然后,特别是要调用它的控制器:

代码语言:javascript
复制
$translate.use('en','login','pepsi');

因此,我需要调用API端点,如下所示:

代码语言:javascript
复制
endpoint/translations?language=en&screen=login&client=pepsi

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2016-03-23 17:01:34

通过使用名为angular-translate-loader-partial模块的模块,我认为我们可以做到这一点(https://angular-translate.github.io/docs/#/guide/12_asynchronous-loading)

它的配置如下:

代码语言:javascript
复制
$translateProvider.useLoader('$translatePartialLoader', {
   urlTemplate: 'endpoint/translations/' + $rootScope.clientName + '/{part}/{lang}.json'      
});

并在控制器中使用,如:

代码语言:javascript
复制
 angular.module('pepsi').controller('sugerCtrl', function ($scope, $translatePartialLoader, $translate) {
  $translatePartialLoader.addPart('suger');
  $translate.refresh();
});

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2016-04-07 20:52:50

对我来说,它是有效的:

代码语言:javascript
复制
var serviceBase = 'http://localhost';
$translatePartialLoaderProvider.addPart('core');
$translateProvider.useLoader('$translatePartialLoader', {
    urlTemplate: serviceBase + '/api/translations?lang={lang}&module={part}'
});
$translateProvider.preferredLanguage("de");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36061202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档