1

我正在开发一个 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>

4

1 回答 1

3

尝试这样的事情:

  <div  translate='status.{{current_status}}'> </div>
于 2017-05-14T15:30:16.663 回答