我目前正在使用ES6和Marionette v3重寫我們的木偶代碼庫。最好能夠在不違反德米特法的情況下處理人偶模塊之間的通信
我創建了幾個子模塊(ProductShowRoute
,CartManager
等),這些都是從我的主App
開始的。
我想知道你們是如何管理模塊之間的通信。在我們之前的Marionette應用程序中,通訊過於繁忙,並且使用Backbone.Wreqr
發送太多內容。
當用戶將產品添加到購物車時,我們的ProductsModule
需要讓CartModule
知道這一點。如何在不寫太多意大利麪代碼的情況下組織這種溝通? Backbone.Radio
/Backbone.Wreqr
是很好的工具,但是如果使用不正確(或模塊之間發生太多事情),很難知道哪些事件最終在哪裏結束。
此外,我想知道你是如何改變路線。我讀了一篇Derick Bailey的博客文章,他警告使用App.navigate(‘route’, { trigger: true })
,但在Marionette Wires中我看到這發生了幾次。 trigger: true
真的這不好用嗎?我們有什麼替代方案?之前我們使用了Backbone.Wreqr
,它調用了每個模塊的Router
並且改變了路線,但是這看起來像很多來回的通信。
非常感謝!
弗農