Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干集合:向项模型添加逻辑_Javascript_Backbone.js_Backbone.js Collections - Fatal编程技术网

Javascript 主干集合:向项模型添加逻辑

Javascript 主干集合:向项模型添加逻辑,javascript,backbone.js,backbone.js-collections,Javascript,Backbone.js,Backbone.js Collections,我使用reset从裸对象数组更新主干集合: const collection = new Backbone.Collection(); // ... const switches = [ { color: "red", on: false }, { color: "green", on: false }, { color: "blue", on: true } ]; collection.reset(switches); 现在我的收藏中有3款。我希望它们具有toggl

我使用
reset
从裸对象数组更新主干集合:

const collection = new Backbone.Collection();
// ... 
const switches = [
    { color: "red", on: false },
    { color: "green", on: false },
    { color: "blue", on: true }
];
collection.reset(switches);
现在我的收藏中有3款。我希望它们具有
toggle()
方法:

toggle: function() { 
    this.save({ on: !this.get("on") }) 
}

如何添加它?

如果不将模型传递给主干集合,主干将使用普通模型。如果要自定义模型,应使用
Backbone.model.extend()函数定义模型,并将其传递给集合:

const Model =  Backbone.Model.extend({
   toggle: function() { 
      this.save({ on: !this.get("on") }) 
   }
});
const Collection = Backbone.Collection.extend({
   model: Model
});
const collection = new Collection();

我更新了问题,将箭头函数替换为普通函数。
这个
的值不是问题,问题不在于此。