如何在backbone.js中停止删除
我有一个精灵集合和一个框架集合(每个框架中都有一个精灵实例),如果精灵集合在框架集合中使用,我不想从精灵集合中删除精灵 我已经研究了删除事件的监听,应该能够检测到它是否在frames集合中,但毫无例外,我怀疑我可以阻止删除精灵如何在backbone.js中停止删除,backbone.js,backbone-events,Backbone.js,Backbone Events,我有一个精灵集合和一个框架集合(每个框架中都有一个精灵实例),如果精灵集合在框架集合中使用,我不想从精灵集合中删除精灵 我已经研究了删除事件的监听,应该能够检测到它是否在frames集合中,但毫无例外,我怀疑我可以阻止删除精灵 我应该查找什么事件,还是应该查找更复杂的事件?删除方法的主干源代码: remove: function(models, options) { models = _.isArray(models) ? models.slice() : [model
我应该查找什么事件,还是应该查找更复杂的事件?删除
方法的主干源代码:
remove: function(models, options) {
models = _.isArray(models) ? models.slice() : [models];
options || (options = {});
var i, l, index, model;
for (i = 0, l = models.length; i < l; i++) {
model = this.get(models[i]);
if (!model) continue;
delete this._byId[model.id];
delete this._byId[model.cid];
index = this.indexOf(model);
this.models.splice(index, 1);
this.length--;
if (!options.silent) {
options.index = index;
model.trigger('remove', model, this, options);
}
this._removeReference(model);
}
return this;
},
var SpriteCollection = Backbone.Collection.extend({
remove: function(attrs, options) {
//Some your checks
return Backbone.Collection.prototype.remove.call(this, options);
}
});
删除方法的主干源:
remove: function(models, options) {
models = _.isArray(models) ? models.slice() : [models];
options || (options = {});
var i, l, index, model;
for (i = 0, l = models.length; i < l; i++) {
model = this.get(models[i]);
if (!model) continue;
delete this._byId[model.id];
delete this._byId[model.cid];
index = this.indexOf(model);
this.models.splice(index, 1);
this.length--;
if (!options.silent) {
options.index = index;
model.trigger('remove', model, this, options);
}
this._removeReference(model);
}
return this;
},
var SpriteCollection = Backbone.Collection.extend({
remove: function(attrs, options) {
//Some your checks
return Backbone.Collection.prototype.remove.call(this, options);
}
});
谢谢它看起来不错,所以我会很快给它一个机会,并接受它,如果它工作你需要通过模型在你的答案中被删除(你称它们为attr的),所以我已经纠正了这一点,并接受了你的答案。谢谢。它看起来不错,所以我会很快给它一个机会,如果它有效,我会接受它。你需要通过模型在你的答案中被删除(你称它们为attr's),所以我已经纠正了这一点,并接受了你的答案。