說我有一個Web應用程序,它允許過濾一組項目,並說我在web前端使用backbone.js。如何將Backbone.Collection定義爲屬性,但不是Backbone.Model的屬性?
很自然,我結束了創建一個過濾延伸Backbone.Model和擴展Backbone.Collection一個SearchResultList。該過濾器具有類似SEARCHTERM,dataFrom,dateTo ...過濾器也有一個名爲applyFilter
方法的某些屬性。 Filter.applyFilter
應該調用searchResultList.fetch
,從而更新/過濾搜索結果。
的問題是,如何以最佳方式初始化searchResultList
爲財產Filter
,而不是作爲一個屬性骨幹方面?
我不想在Filter.initialize
中創建SearchResultList
,因爲SearchResultList
不一定由Filter
「擁有」。
現在我最終通過searchResultList
對象作爲option
到Filter.initialize
,但這對我來說有點尷尬。
我懷疑讓Filter.applyFilter
致電SearchResultList.fetch
是個好主意。但是,需要有一種方法Filter
,它在被調用時以某種方式觸發新的請求。 (聆聽Filter
的更改事件不是一種選擇,因爲用戶應該多步更改過濾器選項,並決定通過單擊按鈕手動應用過濾器)