0

我有一种情况,我在外部选择元素上设置对象(编辑模式对话框)。当我设置范围变量值时,选择控件只是失去它的值而不是选择等效项(如具有相同 id 的对象)。

我想知道它是否是我需要的不同的 ng-option 值,似乎有很多填充它的方法,我从文档中无法理解。我正在使用基本类型:

<select ng-model="color" ng-options="c.name for c in colors"></select>

我在这里创造了类似的情况。我需要单击按钮在选择下拉菜单中设置正确的值。

4

1 回答 1

4

AngularJS 比较是为了参考而不是为了相等。当您这样做时,AngularJS 不会在 中找到任何等效对象$scope.colors,然后将列表设置为空值:

$scope.setColor = function() {
    $scope.color = {id:12,name:'white',shade:'light'};
};

相反,您可以简单地做到这一点,就像在这个小提琴中一样:

$scope.setColor = function() {
    $scope.color = $scope.colors[1];  
};
于 2013-06-18T21:16:33.267 回答