2011-04-29 107 views
11

我剛剛開始與骨幹,並試圖建立一個有問題清單的視圖。在列表的左邊我有四個過濾器,按語言,國家,地位和學習過濾列表。列表和每個過濾器都被加載到它們自己的集合中。骨幹視圖可以有多個集合嗎?

我的想法是讓這個視圖具有多個集合,但是我不知道這是否是主幹中的最佳實踐,因爲我看過的所有示例只有一個視圖集合。

另一個想法是分成兩個視圖,一個負責過濾器,然後一個子視圖僅負責問題列表。

或者是更骨幹的風格所有的藏品放到一個模型,然後該模型傳遞給我的看法就像它提到這裏:http://documentcloud.github.com/backbone/#FAQ-nested

感謝您的想法。

回答

24

是的。理論上,視圖可以包含任意數量的內部對象/集合。通常意見儘可能離散,但可能有理由在單個視圖中包含多個事物。

這都是設計問題。我沒有看到創建一個容器模型作爲您的集合的一個存儲桶購買的東西。

不要太在意絕對最好的方式。有時候需要走錯一步,找出適合您特定項目的更好方法。

1

不確定的最佳做法,但如果你能把它分解成視圖,那麼它的好處。否則,您最好創建一個包含多個集合的視圖模型,並在視圖中使用它們。

+0

啊,現在我在閱讀文檔中的嵌套收集位之後,明白您對視圖模型的含義。 – 2011-04-29 14:04:18

9

我認爲在合適的時候將多個模型或集合傳遞給視圖是完全合法的。

傳遞一個modelcollection到視圖構造函數會自動添加該對象的視圖實例(因此它在this.modelthis.collection),但你也可以通過其他數據如額外的集合,它們將被設在options對象(可從您的視圖中獲得this.options.countries等)。你的觀點initialize方法,如果存在的話,也會傳遞這個對象。

+0

我一直都是這樣用過去的。關於馬里奧說視圖應該儘可能離散,我覺得證明傳入第二個集合是有挑戰性的,例如,當視圖要求正確運行時作爲選項。 – maletor 2013-09-20 16:50:01