Угловой перевод с использованием ключа в качестве переменной Не работает
Я работаю над приложением Angular Js и использую модуль https://angular-translate.github.io/
В одном случае у перевода может быть ключ в качестве переменной, поэтому я создал объект в объекте переводов со всеми возможными переменными.
когда я использую его с точечной нотацией, как 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>
1 ответ
Решение
Попробуйте что-то вроде этого:
<div translate='status.{{current_status}}'> </div>