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