Backbone.js - 自定义集合事件

时间:2012-09-19 10:23:10

标签: javascript backbone.js

我正在尝试为视图绑定实现自定义集合事件。

在我看来,我想做类似的事情:

this.collection.on('available', this.available);

并以某种方式在我的收藏中的方法中触发它。

所以说我的集合中有一个设置特定模型属性(可用)的方法,然后我怎么能触发绑定到这个方法的所有视图?

这是否可行,并且能够将相关模型传递给视图以进行更新。

感谢您提前提供任何帮助,非常感谢:)

1 个答案:

答案 0 :(得分:7)

向Backbone添加新事件非常简单。您只需要在要触发事件的对象上调用trigger方法。

例如,假设您在集合的方法中,并且有一个模型(称为model):

this.trigger('available', model);

绑定到available事件的代码就像您在问题中描述的那样。

编辑:这些天Backbone提供了一种listenTo方法,您通常应该在从视图中绑定到集合事件时使用这种方法。调用其删除函数时,视图将自动从此事件解除绑定,这将阻止旧视图在删除后继续接收集合事件。从您的角度来看,可以这样使用:

this.listenTo(this.collection, 'available', this. available);