1

参考网址:http ://davidsulc.com/blog/2012/04/22/a-simple-backbone-marionette-tutorial-part-2/

我对骨干网和事件聚合器很天真。您能否让我知道使用以下代码行的原因。

this.model.addVote(); MyApp.vent.trigger("rank:down", this.model);

似乎还有其他可能性

this.model.addVote(); this.model(rankDown);

或其他方式 MyApp.vent.trigger("addVote", this.model

请解释谢谢。

运行示例:http: //jsfiddle.net/Irfanmunir/966pG/29/

4

1 回答 1

3

通常,事件对于将对象彼此分离,同时仍然允许它们进行通信很有用。应用程序级别的事件聚合器模式(或发布/订阅模式)允许通过在组合中加入第 3 方来进一步解耦:发布者、聚合器、订阅者。这样,发布者和订阅者都不必相互了解。他们每个人都只知道事件聚合器。

不久前我写了一篇关于这个的小文章:

http://lostechies.com/derickbailey/2012/04/03/revisiting-the-backbone-event-aggregator-lessons-learned/

在这种情况下,使用事件是因为模型需要在它所属的集合的上下文中进行操作。与其通过模型来获取集合(它可能不会直接分配给集合......模型不需要成为集合的一部分),而是更容易和更灵活地引发这个事件并让它在更多的地方处理合适的。

于 2012-06-20T13:22:48.910 回答