我有一种情况,我在外部选择元素上设置对象(编辑模式对话框)。当我设置范围变量值时,select控件只会丢失它的值而不是选择等效项(比如具有相同id的对象)。
我想知道它是否是我需要的不同的ng-option值,似乎有许多方法可以填充它,我从文档中无法理解。我使用的是基本类型:
<select ng-model="color" ng-options="c.name for c in colors"></select>
我创造了类似的情况here。我需要点击按钮在选择下拉列表中设置正确的值。
答案 0 :(得分:4)
AngularJS比较参考而不是相等。当您这样做时,AngularJS在$scope.colors
中找不到任何等效对象,然后将列表设置为空值:
$scope.setColor = function() {
$scope.color = {id:12,name:'white',shade:'light'};
};
相反,你可以简单地做到这一点,就像在this fiddle中一样:
$scope.setColor = function() {
$scope.color = $scope.colors[1];
};