【发布时间】:2017-05-02 10:53:42
【问题描述】:
我有一个包含一些动态项目(例如汽车)的列表,因此它没有固定长度。当我加载这个列表时,它看起来像这样:
itemList = [
{ id: 0, name: 'bmw' },
{ id: 1, name: 'audi' },
{ id: 3, name: 'vw' },
{ id: 4, name: 'subaru' },
{ id: 5, name: 'mercedes' }
];
之后,我在 ng-repeat 循环中循环这个列表并创建一些复选框,以便我可以选择项目:
<div class="item" ng-repeat="item in itemList">
<input type="checkbox">
<label>{{item.name}}</label>
</div>
现在我有一个用户对象。这个对象里面有一个数组“汽车”,如果我取消选择它,我想推所有选定的汽车并删除它。我的对象如下所示:
userObj = [
{
name: 'user1',
cars: []
}
];
所以当我选择一辆车时,它应该被推入我的用户对象中的数组cars,如果我取消选择它,它也会被删除。我知道我必须用ng-change 来做这件事,这不是我真正的问题。我的问题是复选框的ng-model。我不知道如何做到最好。我不能对每个列表都使用相同的 ng-model,这是非常合乎逻辑的。最好的方法是什么?网上没找到解决办法。
【问题讨论】:
-
afaik,ngModel 通过引用绑定,如(docs) 中所述,因此,如果您将通过 ng-model 绑定的任何值重新分配为新引用,它应该适当地更新和调整它引用的值。
-
这能回答你的问题吗? stackoverflow.com/questions/14514461/…
标签: javascript html angularjs arrays checkbox