2014-02-15 51 views
0

嗨,我已经使用了近2年的backbonejs,现在我刚开始使用marionettejs和我的第一个应用程序this website我正确使用marionettejs吗?

我的问题的原因是,在我的应用我有呈现为下拉列表和表(自行更新,每当我们改变下拉列表中选择)2复合图的布局。

我所做的是为我的下拉列表上的“更改”事件,我有一个MyApp.vent.trigger(),我有一个监听器在MyApp.addInitializer()函数更新其他compositeview(表在下拉列表下方)。实际上,对于整个应用程序,我在itemViews和compositeViews里面有近6个这样的触发器,而监听器在addInitializer()内部用于其他一些功能。

我只想知道,如果我做对了吗?或者这是如何在marionettejs开发通常是?

谢谢

回答

0

是的,这是推荐的想法。但是,您不一定需要使用顶级vent属性:每个子应用程序和视图都有其自己的(作用域)事件管理器。另外,您不一定需要在addInitializer中添加侦听器。

下面是一个例子(从我Marionette book):

希望这有助于!

+0

谢谢大卫,我想我开始明白这个主意。我可以从任何视图调用任何事件并让其他视图捕捉/听该事件? –

+0

我可以在requirejs上使用backbone吗?我在我的背景应用程序中所做的事情是在视图上触发事件,然后让它听取/触发给其父母,并重复它,直到我看到我需要采取行动的主视图。 (不像我对mrionette所做的那样,我在视图中有一个触发器,然后让这个目标视图直接听它。) –

+0

对不起,我误解了。我只能从某个地方听这些事件,我可以访问正在执行触发器的组件? :) –