我正在尝试为视图绑定实现自定义集合事件。
在我看来,我想做类似的事情:
this.collection.on('available', this.available);
并以某种方式在我的收藏中的方法中触发它。
所以说我的集合中有一个设置特定模型属性(可用)的方法,然后我怎么能触发绑定到这个方法的所有视图?
这是否可行,并且能够将相关模型传递给视图以进行更新。
感谢您提前提供任何帮助,非常感谢:)
答案 0 :(得分:7)
向Backbone添加新事件非常简单。您只需要在要触发事件的对象上调用trigger
方法。
例如,假设您在集合的方法中,并且有一个模型(称为model
):
this.trigger('available', model);
绑定到available
事件的代码就像您在问题中描述的那样。
编辑:这些天Backbone提供了一种listenTo
方法,您通常应该在从视图中绑定到集合事件时使用这种方法。调用其删除函数时,视图将自动从此事件解除绑定,这将阻止旧视图在删除后继续接收集合事件。从您的角度来看,可以这样使用:
this.listenTo(this.collection, 'available', this. available);