Backbone.js 如何确定主干收集的删除事件被触发的原因?
当模型已从集合中移除时,将触发主干集合上的移除事件Backbone.js 如何确定主干收集的删除事件被触发的原因?,backbone.js,backbone-events,backbone.js-collections,Backbone.js,Backbone Events,Backbone.js Collections,当模型已从集合中移除时,将触发主干集合上的移除事件 但我需要区分是销毁模型会触发收集时的删除事件,还是仅从收集中删除模型会触发收集时的删除事件。没有简单的方法来区分这两种情况。我建议您自己重写删除方法,并让它触发您自己的事件: 然后当然destroy您可以单独侦听,因为它有自己的事件。您可以将on(“destroy”)事件侦听器添加到模型的initialize方法中,并捕获destroy事件。@Vahan是的,但我只需要收集级别的侦听器。在我的例子中,模型的销毁触发集合上的移除事件和从集合中移除
但我需要区分是销毁模型会触发收集时的删除事件,还是仅从收集中删除模型会触发收集时的删除事件。没有简单的方法来区分这两种情况。我建议您自己重写
删除方法,并让它触发您自己的事件:
然后当然destroy
您可以单独侦听,因为它有自己的事件。您可以将on(“destroy”)
事件侦听器添加到模型的initialize方法中,并捕获destroy
事件。@Vahan是的,但我只需要收集级别的侦听器。在我的例子中,模型的销毁触发集合上的移除事件和从集合中移除模型触发集合上的移除事件都有可能。我需要区分两者。你能提供一个问题的例子吗?你的代码中的模型是如何被破坏的?
var YourCollection = Backbone.Collection.extend({
remove: {
this.trigger('aboutToRemovedViaRemoveMethod');
// Call the original remove
var removeResult = Backbone.Collection.prototype.remove.apply(this, arguments);
this.trigger('removedViaRemoveMethod');
return removeResult;
}
});