2013-05-21 87 views
4

我想實現與requirejs作爲解釋器here哪裏使用骨幹牽線木偶的事件聚合器?

望着這裏的例子,並在文檔中的自定義發泄事件聚合例如,我有seent,調用vent.on和vent.trigger主要應用於意見。然後我的模式是:

define(['marionette', 'vent'], function (Marionette, vent) { 
    return Marionette.ItemView.extend({ 
     initialize: function() { 
      //bind 
      this.listenTo(vent, 'mycustomevent', this.myMethod); 
      //trigger 
      vent.trigger('viewinit', ...); 
     } 
    }); 
}); 

這是正確的模式(視圖是負責管理聚合事件)或者我應該使用它的模型和集合?

回答

5

事件聚合器實際上只是一個用於通信的發佈/訂閱系統。

關於「我應該去哪裏」,我建議在大多數情況下,以下幾點:

  • 意見觸發事件(根據用戶點擊的東西,如)
  • 控制器監聽和反應到事件(例如刪除模型)

當然,有很多方法可以使用事件聚合器,但是在處理視圖時,上述方法適用於大多數用例。

使用事件聚合也是有用的管理路由事件和消除重複(見「實現路由」在這裏:http://samples.leanpub.com/marionette-gentle-introduction-sample.pdf

+0

也許你可以分享的說法有一定的瞭解http://stackoverflow.com/questions/18022150/marionette-event-aggregator-vs-backbone-router ;-)謝謝。週末愉快!! –

+0

P.S.我也贊成你的回答 –

+0

我已經加入了我對這個問題的看法,但在(鏈接的)書籍的示例中有更詳細的解釋。 –

相關問題