2014-02-06 63 views
1

我不確定這裏的正確方法是什麼。我正在設置一個簡單的表單。我需要一對標準的HTML輸入字段和一些選擇輸入。該數據是從幾個不同來源,我想提出的模型和收藏品,與他們的數據視圖,像這樣:在Marionette/Backbone視圖中使用多個模型和集合

控制器:

var registerView = new registrationView.RegistrationForm({ 
    model: userModel, 
    model2: departmentCollection 
}); 
myApp.SomeRegion.show(registerView); 

我能做到這一點?或者我需要將表單分成不同的區域,全部使用自己的模型或集合。如果是這樣,我該如何在模板中調用模型數據。到目前爲止,我還沒能做到這一點。我無法找到與混合領域從不同的模型和集合未來形式的任何示例,

非常感謝

Wittner

回答

0

您可以使用複合視圖做到這一點:

var registrationView.RegistrationForm = Marionette.CompositeView({ 
    // ... 
}); 

var my View = new registrationView.RegistrationForm({ 
    model: userModel, 
    collection: departmentCollection 
}); 

https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.compositeview.mdhttps://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.collectionview.md(複合視圖繼承集合視圖的行爲)。

+0

謝謝大衛。我從你那裏學到了很多優秀的書:-)然而,我不知道這是否是「過度殺傷」或解決這個問題的最好方法。所以,如果我有一個有多個選擇輸入的表單,一個正確的模式是將頁面分開(可能是使用佈局),並使用不同的區域和不同的視圖,每個視圖都有各自的模型/集合以創建單個表單? – Wittner

+0

這就是我的偏好:cde更多一點,但更易於維護。但如果您願意,您也可以在單一視圖中進行操作。它基本上歸結爲偏好... –

相關問題