Ruby:通过AngularJS绑定设置选择模型值不起作用

时间:2013-06-18 20:58:28

标签: angularjs

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

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

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

我创造了类似的情况here。我需要点击按钮在选择下拉列表中设置正确的值。

1 个答案:

答案 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];  
};