如何使用angularjs中的ng选项将对象关联为模型

如何使用angularjs中的ng选项将对象关联为模型,angularjs,Angularjs,假设我有两个对象:颜色和衬衫 每件衬衫可以有多个属性和多种颜色,基本上是一组颜色对象 function MyCntrl($scope) { $scope.colors = [ { label:"Red", value:"r-e-d", available:true }, { label:"Blue", value:"b-l

假设我有两个对象:颜色和衬衫

每件衬衫可以有多个属性和多种颜色,基本上是一组颜色对象

function MyCntrl($scope) {
    $scope.colors = [
        {
            label:"Red",
            value:"r-e-d",
            available:true
        },
        {
            label:"Blue",
            value:"b-l-u-e",
            available:false
        }   
    ];

    $scope.shirts=[{
        size:"M",
        cost:100,
        colors:[ ]
    }
    ]
}
如何使用
ng options
color
对象附加到衬衫。color

我想将
scope.color
对象关联到
scope.shirts.color
对象,这样,如果我更改了颜色名称或颜色代码之类的内容,那么
shirts.colors
中关联的
color
对象中的相应项也应该自动更新

根据我对
ng options
ng model
的了解,我必须为颜色创建新对象,并根据在选择框中选择的内容设置其值,但这些对象将独立于颜色对象,更改颜色对象不会更新衬衫中的相应对象


提前感谢您的回复。

您可以直接使用
ng选项

Color: <select multiple ng:model="shirt.colors" ng:options="c.value as c.label for c in colors"></select>
颜色:
这是一个扑克牌:

更新

关于源代码颜色的编辑:如果在衬衫的颜色中只存储值,则很难检测出项目发生了什么变化并在选项中重新选择它(已更改的选定项目取消选择,因为AngularJS不知道变化的原因)


作为解决方法,您可以选择对象,而不是值。我已经更新了plunker。

我有一个后续问题,即如何使用复选框而不是选择多个来管理该对象数组。我在这里问过这个问题