【发布时间】:2015-05-14 14:23:44
【问题描述】:
我有一个 select 元素,它呈现一个对象列表,没什么特别的。
<select ng-model="defaultObject" ng-options="obj.description for obj in allObjects">
</select>
生成:
<select ng-model="defaultObject" ng-options="obj.description for obj in allObjects">
<option value="?" selected="selected" label=""></option>
<option value="0" label="Value 1">Value1</option>
</select>
而且看起来不错。它会生成第一个空选项,因为在渲染时 allObjects 尚未创建,所以这是预期的。
但是,问题在于,当defaultObject 模型设置为代表选择元素内的第二个选项的对象时(Value1),选择元素不会更新所选选项,一切看起来都一样。这就像一个单向绑定,defaultObject 模型可以从下拉列表中设置,但更新defaultObject 不会更新下拉列表以选择该元素。这可以解决吗?
【问题讨论】:
-
$scope.defaultObject = $scope.allObjects[0]如果模型是一个对象,你应该通过引用传递它 -
你这里有个小错误:
obj.description for object:obj和object应该同名。 -
是的,只是笔误,我改名了实名
-
在控制器中将 defaultObject 绑定到 $scope ...
-
@Zed:太好了。请看我的回答,我有几个可用的选项。
标签: javascript angularjs