javascript - 使用键作为变量的 Angular 翻译不起作用

标签 javascript angularjs angular-translate angular-transitions

我正在开发 Angular Js 应用程序并使用 Angular-translate模块

在一种情况下,翻译可能将其键作为变量,因此我在翻译对象中创建了一个包含所有可能变量的对象。

当我将它与像 translate='status.awaiting' 这样的点符号一起使用时,它工作得很好,但如果我将它用作带有括号符号的变量,如 translate='status[status] ' 它根本不起作用!

这是我得到的一个最小示例..提前致谢!

angular.module('myApp',['pascalprecht.translate'])
  
.config(function($translateProvider){
$translateProvider.useSanitizeValueStrategy(null);
  $translateProvider
    .translations('ar', {
      status:{
        "new":"جديد",
        "awaiting":"منتظر",
        "confirmed":"مؤكد",
        "shipped":"مشحون",
        "delivered":"مستلم",
        "returned":"مرتجع",
        "canceled":"ملغى"

    }
  })
    .preferredLanguage('ar');
})

.controller('myCtrl',function($scope){
  $scope.current_status = 'awaiting';
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
<script src="https://cdn.rawgit.com/angular-translate/bower-angular-translate/2.15.1/angular-translate.js"></script>

<div ng-app="myApp" ng-controller="myCtrl">
  <div  translate='status.awaiting'> </div>
  <div>{{current_status}} </div> 
  <div  translate='status[current_status]'> </div>
</div>

最佳答案

尝试这样的事情:

  <div  translate='status.{{current_status}}'> </div>

关于javascript - 使用键作为变量的 Angular 翻译不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43964297/

相关文章:

javascript - 在 angularjs 中无法将 .docx 转换为 blob

Internet Explorer 中的 Javascript RegEx 问题

angularjs - 从 AngularJS 中的服务刷新数据的最佳(惯用)方法

javascript - 将表达式而不是结果传递给指令

php - 在 PHP 中从 jQuery 获取多个 post 值

javascript - 如何使用useState钩子(Hook)同时设置多个状态?

javascript - angularjs XXXService.XXXfunction 不是一个函数

javascript - 通过ajax以 Angular 加载图像

angularjs - 如何将 if/else 表达式与属性内的 Angular 翻译结合起来?

javascript - AngularJS 翻译和 ui 工具提示 html