幫我找管理骨幹的觀點最好的辦法。方法隱藏/顯示骨幹模型視圖
例如,我有一個視圖集合MyCollectionView
其中包含MyModelView
- 集合中每個模型的視圖。
而如果我想隱藏/顯示頁面上某些型號?
現在我下面這樣:
- 使用
collection.each
爲每model
- 內環路的我稱之爲模型函數
filter
一些PARAMS - 在這個功能我檢查模特屬性和調用
model.trigger 'hide'
或model.trigger 'show'
- 最後在
model view
我使用this.model.bind 'hide', this.hide, this
實際上我使用.hide()
或.show()
這種方式看起來很糟糕...爲什麼我需要做這個長長的功能和事件鏈。有沒有最簡單的方法?
謝謝!
非常感謝您的回答。我還有一些額外的問題。爲什麼所有的邏輯應該在視圖內?我有很多關於過濾的陳述。我可以委託他們全部模型?在視圖過濾器動作中,只使用'return model.filter(conditions)'。之後,我需要調用我的渲染功能。 新視圖的呈現是interestion方法:) – ValeriiVasin 2012-02-04 22:57:15
將過濾方法移動到集合類定義也很有意義。但是因爲它是幫助檢索數據的一個子集。模型和集合應該存儲數據,應該知道數據的有效性等,但不應該操縱它或改變,因爲這是控制應用程序流的結構的角色 - 在骨幹視圖中扮演着這個角色。 – 2012-02-05 01:48:45
作爲一個使用過濾作爲視圖方法而不是集合的例子,當我有一個特殊的ListView類正在處理呈現列表(使用documentFragment,我在那裏提到)而沒有意識到時,我可以給你一個我的使用項目視圖或集合的類型和結構 - 作爲一個選項,您可以通過項目視圖工廠方法,篩選條件和視圖根據用戶設置的篩選器決定顯示的內容,並負責選擇正確的模型從集合中創建視圖並渲染 – 2012-02-05 01:52:28