BackboneJS:有一个可以绑定的默认事件列表吗?

时间:2011-11-26 19:57:52

标签: javascript backbone.js

我知道我们可以在Backbone.js中创建自己的事件,比如

object.trigger( 'myEvent');

我也知道有一些默认事件,例如changechange:<attributename>

现在我想知道,这些默认事件的某个地方是否有列表? 我正在寻找一个特定事件,当有人离开视图时触发, 所以要么在删除视图时,要么在路线改变时, 我只是希望我不必破坏我自己的事件,看到这些事件的完整列表以供进一步参考也不会有什么坏处。

2 个答案:

答案 0 :(得分:1)

更新似乎列表确实存在,正如benoit在上面的评论中描述的那样, 它可以在这里找到...... http://documentcloud.github.com/backbone/#FAQ-events


所以似乎这样的列表不存在,好吧,我带着它去看看带注释的来源,并在这里为每个可能需要它的人提供列表。

我也将这个社区维基帖发布,所以我希望任何有需要的人都能更新它。新的Backbone版本是否带有额外的事件或者我有什么不对的地方,随时可以编辑。

这里是脊柱本身触发的事件列表:

  • change:<attributename>

    使用model.set({<attributename>, 'value'});

    被解雇 表示属性已更改。

  • change

    使用model.set({<attributename>, 'value'});

    被解雇 表明模型已更改。对你改变的任何属性都有这个火。

  • destroy

    销毁模型后,

    触发model.destroy({options});

  • error

    在验证模型并且其中一个验证失败后触发, 但是如果传入了特定的错误回调函数,则会传入 执行而不是error事件。

    当你没有给出以下模型方法的错误回调时,

    也会触发:

    model.fetch();
    model.save();
    model.destroy();
    
  • reset

    通过collection.sort({options});方法对集合进行排序时触发

    在明确要求通过collection.reset(models, {options});

  • 重置集合时也会被解雇
  • add

    将模型添加到集合collection.add(models, {options});

  • 时触发

  • remove

    从集合中删除模型时触发

    collection.remove(models, {options});

答案 1 :(得分:1)

您正在寻找的特定事件不存在,但可以轻松添加。

Backbone.View.prototype.remove = function() {
  $(this.el).remove();
  this.trigger('remove', this);
  return this;
}

如果您使用路由器,还会内置“导航”事件。