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 withng 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]”直接绑定到集合中的对象: