说我有一个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
的更改事件不是一种选择,因为用户应该多步更改过滤器选项,并决定通过单击按钮手动应用过滤器)