我从一个代表州的电话中收到了一些号码。 例如:
scope.states = [{
'key': 1,
'value': 'Alabama'
},
{
'key': 2,
'value': 'Alaska'
}
];
然后我使用Angular的UI Bootstrap typeahead指令,如下所示:
<input type="text" ng-model="form.eoiEmployee.state | stateLookup" typeahead="state.key as state.value for state in states | filter:$viewValue | limitTo:8" class="form-control">
对于我的用户的模型值,我从服务器传递1,这很好,我只需要在UI中显示“Alabama”,而不是1.我尝试将stateLookup的过滤器添加到我的模型中,但我收到此错误:“[ngModel:nonassign] Expression'sform.eoiEmployee.state | stateLookup'是不可分配的。”有任何想法吗?这是我的过滤器。
.filter('stateLookup', function (Enum) {
return function (input) {
return Enum.stateLookup(input);
};
});
如果需要,我的Enum服务电话。
stateLookup: function(id) {
angular.forEach(StateType, function(state) {
if(state.key === id) {
return state.value;
}
});
}