循环遍历骨干网中的阵列模型

时间:2014-04-18 16:07:26

标签: javascript backbone.js

我有一个集合,我根据这样的属性获取模型

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

我想遍历这些模型并将属性is_editing设置为false。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

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

使用类似于@nikoshr的_.invoke替代

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

答案 1 :(得分:2)

对此问题的不同看法,使用_.chain_.invoke来获取乐趣,我希望,可读性

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

演示http://jsfiddle.net/nikoshr/PMvLC/

请注意,在该上下文中使用where会产生意外结果,因为它可以处理模型数组,而不是集合及其代理的下划线方法。