2014-02-15 53 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

對不起,我誤解了。我只能從某個地方聽這些事件,我可以訪問正在執行觸發器的組件? :) –