2014-04-18 78 views
0

我有一個集合,我基於這樣遍歷數組車型在骨幹

var coll=reportWidgets.where({"is_editing":true}); 

我希望通過這些模型環路和財產is_editing設置爲false屬性獲取模式。

我該怎麼做?

回答

2
_.each(reportWidgets.where({is_editing: true}), function (reportWidget) { 
    reportWidget.set('is_editing', false); 
}); 

使用替代_.invoke類似@nikoshr

_.invoke(reportWidgets.where({is_editing: true}), 'set', 'is_editing', false); 
+0

是的,工作正常,thx很多 – Sasikanth

2

不同的看法不同的問題,使用的樂趣_.chain_.invoke,而且我希望,可讀性

reportWidgets.chain().filter(function(m) { 
    return m.get('is_editing'); 
}).invoke('set', 'is_editing', false); 

而且一演示http://jsfiddle.net/nikoshr/PMvLC/

請注意,在這種情況下,使用where會產生意想不到的結果,因爲它可以處理模型數組,而不是集合及其代理下劃線方法。