在骨干中从一个视图向另一个视图发射事件

我有一个主视图,在主视图内部,我有另一个视图,当我单击一个按钮时,它会被创建。 有没有办法在父视图上侦听从子视图触发的事件的自定义事件。 我试图通过使用jQuery触发器的el属性来完成它,但这并不是很有效。

呀,没问题……你会想要使用“Event Aggregator”模式。 它是Backbone中的一行代码:

var eventAgg = _.extend({}, Backbone.Events);

现在,您可以在应用程序的任何位置触发/绑定来自此对象的事件,并让应用程序的不同部分以分离的方式相互通信。

我用这个很多!

我还在这里写了更多关于它的博客: http : //lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/

这是另一种方法,对于那些正在寻找一种简单的方法将事件从子视图“冒泡”到父视图的人来说,这可能更直观:

https://github.com/dgbeck/backbone.courier

自述文件中有一些讨论它与事件聚合器的比较。

由于Backbone将Events对象直接混合到其命名空间中的Backbone对象,因此无需滚动您自己的“事件聚合器”或mediator或pubsub(如上所述)。 这是源代码及其实现文档的链接 。

允许Backbone对象充当全局事件总线,适合那些想要在方便的地方使用全局“pubsub”的人。