Javascript 重置集合时,我的模型可以绑定到什么?

Javascript 重置集合时,我的模型可以绑定到什么?,javascript,backbone.js,coffeescript,Javascript,Backbone.js,Coffeescript,我的模型是否可以绑定到任何事件,以知道它们的集合已重置 当我打电话时: collection.reset() 我希望那些被删除的模型被销毁,反过来任何视图都知道它们已经消失了。我应该在这里绑定什么?来自: 重置集合.重置(型号[选项]) […]在结束时触发单个“重置”事件 因此,请绑定到集合的reset事件,并希望没有人使用{silent:true}选项在背后做事情。来自: 重置集合.重置(型号[选项]) […]在结束时触发单个“重置”事件 因此,请绑定到集合的reset事件,并希望没有人使用

我的模型是否可以绑定到任何事件,以知道它们的集合已重置

当我打电话时:

collection.reset()
我希望那些被删除的模型被销毁,反过来任何视图都知道它们已经消失了。我应该在这里绑定什么?

来自:

重置集合.重置(型号[选项])
[…]在结束时触发单个
“重置”
事件

因此,请绑定到集合的
reset
事件,并希望没有人使用
{silent:true}
选项在背后做事情。

来自:

重置集合.重置(型号[选项])
[…]在结束时触发单个
“重置”
事件


因此,请绑定到集合的
reset
事件,并希望没有人使用
{silent:true}
选项在背后做事情。

@mu的答案是正确的,但您可能还需要知道添加到集合的模型具有指向父集合的
.collection
属性。因此,如果要手动实例化模型,可以执行以下操作:

var myModel = new MyModel();
collection.add(myModel);
collection.bind('reset', model.cleanUp(), model);
但是,如果要通过集合实例化模型,例如使用
collection.fetch()
,则需要在模型的
initialize()
方法中绑定到集合:

var MyModel = Backbone.Model.extend({
    initialize: function() {
        if (this.collection) {
            this.collection.bind('reset', this.cleanUp(), this);
        }
    }
    // etc
});

@mu的回答是正确的,但您可能还需要知道添加到集合的模型具有
.collection
属性,该属性指向父集合。因此,如果要手动实例化模型,可以执行以下操作:

var myModel = new MyModel();
collection.add(myModel);
collection.bind('reset', model.cleanUp(), model);
但是,如果要通过集合实例化模型,例如使用
collection.fetch()
,则需要在模型的
initialize()
方法中绑定到集合:

var MyModel = Backbone.Model.extend({
    initialize: function() {
        if (this.collection) {
            this.collection.bind('reset', this.cleanUp(), this);
        }
    }
    // etc
});

非常有帮助,我的问题可能措辞不太好,但这正是我试图解决的问题。谢谢非常有帮助,我的问题可能措辞不太好,但这正是我试图解决的问题。谢谢