Javascript 角度选择不';不响应ng模型的更改

Javascript 角度选择不';不响应ng模型的更改,javascript,angularjs,angular-ngmodel,Javascript,Angularjs,Angular Ngmodel,我有一个选择,看起来像这样: {{vm.selected}} {{vm.items}} <select ng-options="item.value as item.label for item in vm.items track by item.value" ng-model="vm.selected"> </select> this.items = [ { "label":"Foo Bar", "value":"foobar" }

我有一个选择,看起来像这样:

{{vm.selected}}
{{vm.items}}
<select ng-options="item.value as item.label for item in vm.items track by item.value" ng-model="vm.selected">
</select>
this.items = [  
  {  
     "label":"Foo Bar",
     "value":"foobar"
  },
  {  
     "label":"Baz Quux",
     "value":"quux"
  }
];
所选的
vm.项为“foobar”

两个绑定都正确显示在“选择”上方,但未选择该项。当我检查“在开发人员工具中选择”时,我将此作为第一个选择项:

<option value="?" selected="selected"></option>


另外,当我使用click on this element with
ng click=“vm.selected='qux'”
时,没有任何更改。
{{vm.selected}}
始终更新。有人知道怎么回事吗?

您的ng选项表达式将无法根据

引用

但这是行不通的:

item.subItem作为item.label按item.id跟踪items中的item

那么你的

ng options=“item.value作为vm.items中的item.label按item.value跟踪”

不行

改为使用以下格式的表达式:

项目作为项目。项目中项目的标签按项目跟踪。id


按项跟踪的
值有问题。如果删除该选项,您可以看到在选择一个值后,
vm.selected
将正确显示,并且select有效


这应该能正常工作。您可以在JSFIDLE中复制吗?与其使用ng click=“vm.selected='qux',不如尝试:ng init=“vm.selected=items[2]”直接绑定到集合中的对象: