我尝试将a的选项绑定到字典:
<select ng-model="vm.incident.State" ng-options="key for (key,value) in vm.stateOptionSet" style="width: 250px;">
到目前为止一切正常,但是当我使用它时:
<select ng-model="vm.incident.State" ng-options="key as value for (key,value) in vm.stateOptionSet" style="width: 250px;">
Selectbox没有选择适合ng-model的条目。
有人能告诉我什么错了吗?
答案 0 :(得分:1)
你的两个例子都有效。 看看我的例子:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="" ng-controller="customersController">
<select ng-model="selection" ng-options="key for (key,value) in optionSet" style="width: 250px;"></select>
<select ng-model="selection" ng-options="key as value for (key,value) in optionSet" style="width: 250px;"></select>
<br />Selection: {{selection}}
</div>
<script>
function customersController($scope) {
$scope.selection = {};
$scope.optionSet = {
key1: "value1",
key2: "value2"
};
}
</script>
也许您已经忘记了必须关闭您的选择标记。
答案 1 :(得分:0)
来自docs:
使用
select as
会将select表达式的结果绑定到模型,但<select>
和<option>
html元素的值将是索引(对于数组数据源)或属性名称(对于对象数据源)集合中的值。如果使用track by
表达式,则该表达式的结果将设置为选项的值并选择元素。