2013-07-12 90 views
1

在兩個視圖之間共享模型的簡單方法是什麼?如何通過Backbone Marionette在不同視圖之間共享模型?

例如,在一個簡單的郵件應用程序中,我的模型包含每封郵件的發件人,標題和郵件內容。其中一個視圖是僅包含發件人和標題的郵件列表。當您點擊標題時,會在內容中顯示新的視圖。

+0

請參閱http://stackoverflow.com/questions/17603363/marionettejs-using-a-collection-with-two-or-more-views-for-different-layouts –

+0

太複雜。我正在拼命地尋找一個簡單的例子。我嘗試學習Marionette,因爲它意味着構建一個良好結構的Backbone應用程序,並且文檔據說比Backbone更好。但是當你真正發現Marionette時,這個文檔並沒有真正幫助我們弄清楚每件作品是如何協同工作的,而且缺乏簡單的示例應用程序。 – peaceLion

+0

我正嘗試構建一個非常簡單的郵件應用程序來學習,按鈕收件箱,包含郵件列表的視圖以及在列表中單擊郵件標題時的郵件內容視圖。真的很難弄清楚有多少個地區?佈局經理?或管理視圖之間轉換的應用程序?如何在視圖之間傳遞視圖的參考?等等... – peaceLion

回答

7

這是直截了當的,不需要魔法。只需在多個視圖中設置相同的模型。類似以下內容:

var MyMailView = Backbone.Marionette.ItemView.extend({}), 
    MyOtherMailView = Backbone.Marionette.ItemView.extend({}), 
    modelInstance = new Backbone.Model(); 

var view = new MyMailView({model : modelInstance}), 
    otherView = new MyOtherMailView({model : modelInstance}); 

現在你有兩個視圖共享模型。