帮我找管理骨干的观点最好的办法。方法隐藏/显示骨干模型视图
例如,我有一个视图集合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