0

this.model.collection.where({selected: true})返回一个模型数组

然后我想将selected返回的模型的属性设置为 false。

我怎样才能做到这一点?

@model.collection.where({selected: true})(咖啡稿)

4

3 回答 3

1

你可以这样做.each

_.each(this.model.collection.where({selected: true}), function(m){
    m.set('selected', false);
});

由于where返回匹配对象的数组,因此您必须将该数组传递给下划线的第一个参数each

你也可以这样做map

this.model.collection.map(function(m){if(m.get('selected'){m.set('selected', false);}});

由于map获取集合(或数组)中的每个元素并将方法应用于它们。

于 2012-08-28T21:39:17.210 回答
1

一个简单的循环有什么问题?

m.set('selected', false) for m in @model.collection.where(selected: true)

甚至:

for m in @model.collection.where(selected: true)
    m.set('selected', false)

下划线很好,但这并不意味着你必须在所有事情上都使用它。

于 2012-08-28T22:02:58.537 回答
-1
this.model.collection.where({selected: true}).each(function(model){
    model.set({selected:false});
}
于 2012-08-28T21:40:39.257 回答