backbone.js – 集合中的骨干重置事件

Backbone重置事件如何工作?
据我所理解

>从集合中删除所有模型
>将新“已获取”模型添加到集合中
>点火重置事件

在我的情况下,每个模型在SVG上绘制一些东西,所以我应该在从集合中删除模型之前调用remove函数.从集合中删除模型时会触发哪个事件?

解决方法

正如@Paul所说,在重置之前没有触发预定义事件.但是,您可以通过覆盖集合中的重置方法来提供自己的方法.例如,
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/

您还可以在每个模型上触发事件.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...