木偶事件聚合VS骨干路由器(Marionette Event Aggregator vs Backb

2019-10-18 10:27发布

我是很新,这个世界,所以我需要一些关于它的澄清。 也许我可能是错的题目。 因此,随时纠正我。

我正在学习木偶和骨干是如何协同工作。 哦耶。 木偶为我们提供了扩展骨干。 真是不错的东西。

这不是明显对我的事情是,当使用由骨干网和当木偶使用发布/订阅模式提供的路由机制。

有没有一个拇指的任何规则?

在这里, 凡使用事件聚合骨干木偶? ,类似的讨论,但对如何使用或其他任何建议。

Answer 1:

我的路由管理采取的免费预览,说明我的书上的木偶( http://samples.leanpub.com/marionette-gentle-introduction-sample.pdf )

基本上,我认为(别人不一定有它)是一个骨干路由应该用于配置应用程序的状态,当用户“进入”通过URL的应用程序。 换句话说,它将解析参数,并调用适当的控制器动作。

但一旦初始状态的设置,路由代码不应该再被触发,即使在用户浏览应用程序。

下面是一个例子:

  1. 进入用户到达的“接触/ 2 /编辑”。 骨干路由代码将提取2参数并调用edit与该控制器操作id参数(其取入该接触,显示正确的视图,等等)。 换句话说,在初始应用程序状态被配置。
  2. 用户点击“显示所有联系人”链接导致的“人脉”的网址。 在这里,我相信这个修改应通过木偶事件(即指示用户希望看到所有联系人)进行处理。 毕竟,我们知道用户想要做什么,哪些URL片段应显示。 换句话说,没有理由对路由代码涉足。

请注意,这是我的看法,和其他开发人员只需通过trigger: true当用户点击一个链接。 但正如我在上面链接书中摘录解释,这往往导致开发者创建“在JavaScript无状态应用程序”(例如经过大量的参数中的URL,即使它们应该被保存在应用程序的状态)。 亚特一切是有原因的,默认情况下,骨干的navigate方法有trigger: false

德里克·贝利(木偶的创建者)也在这里讨论的问题: http://lostechies.com/derickbailey/2011/08/03/stop-using-backbone-as-if-it-were-a-stateless-web-server/



Answer 2:

事件聚合,是在通知的东西更有用。 (想想反馈小块)

  • 从服务器消息(更新记录)
  • 让其他机型知道事情已经改变
  • 锁都记录下来,同时节省,直到保存
  • 在时间的事情一刻

路由器是您想要的状态为保存,能够事情(认为在MPA单独的页面)

  • 模型编辑页面
  • 模型视图页
  • 东西会留到另一个事件或活动更改它

如果你不知道,如果事情是一个事件或页面,后来想想,并要求独立的问题。



文章来源: Marionette Event Aggregator vs Backbone Router