骨幹重置事件如何工作? 據我瞭解集合中的骨幹重置事件
- 取下收集
- 全系車型添加新的「牽強」模式,以收集
- 火災復位事件
在我的情況下,每個模型對SVG畫東西,以便在從集合中刪除模型之前,我應該調用remove函數。從模型中刪除模型時觸發哪個事件?
骨幹重置事件如何工作? 據我瞭解集合中的骨幹重置事件
在我的情況下,每個模型對SVG畫東西,以便在從集合中刪除模型之前,我應該調用remove函數。從模型中刪除模型時觸發哪個事件?
正如@Paul指出的那樣,在reset
之前沒有預定義的事件發生。但是,您可以通過覆蓋集合上的reset
方法來提供自己的方法。例如,
var SVGCollection = Backbone.Collection.extend({
reset: function(models, options) {
options = options || {};
if (!options.silent) {
this.trigger('prereset', this, options);
}
Backbone.Collection.prototype.reset.call(this, models, options);
}
});
和樣本使用
var c = new SVGCollection([
{id: 1},
{id: 2}
]);
c.on('prereset', function() {
console.log(c.pluck('id'));
});
c.on('reset', function() {
console.log(c.pluck('id'));
});
c.reset({id: 3});
用於演示
你也可以觸發每個模型事件見http://jsfiddle.net/nikoshr/8vV7Y/。
你是對的,reset
被刪除舊模型已被刪除,並添加新的模型。
當模型通過reset
方法從集合中刪除時,沒有發生事件。
您可能需要在集合之外保留對舊模型的引用,然後當重置事件被觸發時,您將引用這些模型,以便您可以在SVG上爲它們調用remove函數。