我知道我们可以在Backbone.js中创建自己的事件,比如
object.trigger( 'myEvent');
我也知道有一些默认事件,例如change
或change:<attributename>
现在我想知道,这些默认事件的某个地方是否有列表? 我正在寻找一个特定事件,当有人离开视图时触发, 所以要么在删除视图时,要么在路线改变时, 我只是希望我不必破坏我自己的事件,看到这些事件的完整列表以供进一步参考也不会有什么坏处。
答案 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;
}
如果您使用路由器,还会内置“导航”事件。