我的i18n翻译文件中有以下数据:
"mylist" : {
"fruits": [
{
"key": "A",
"value": "Apple"
},
{
"key": "B",
"value": "Banana"
}
]
}
在我的标记中,我得到这样的结果:
<ui-select ng-model="user.fruits" name="fruits" theme="selectize">
<ui-select-match>{{$select.selected.value}}</ui-select-match>
<ui-select-choices repeat="f.key as f in transl.mylist.fruits | filter: $select.search">
<div ng-bind-html="f.value | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
在我的标记中,我这样读了:
<td>{{user.fruits}}</td>
所以我在输出中看到key
,因为我已经将密钥存储在ng-model中,因为我有几种语言,所以我想存储相同的密钥,但显示不同每种选定语言的价值观。
现在的问题是:
如何以所选语言显示密钥的值?
这样就显示了value
而不是密钥。我怎样才能在翻译文件中查找它?
答案 0 :(得分:2)
添加一个功能来搜索列表中的选定键
$scope.displaySelectedValue = function(option) {
for(var i=0; i <transl.mylist.fruits.length; i++) {
if(mylist.fruits[i].key === option)
return mylist.fruits[i].value;
}
}
调用该函数传递选定的水果值
<td>{{displaySelectedValue(user.fruits)}}</td>