【问题标题】:Best Practice CollectionView pattern in Backbone.js?Backbone.js 中的最佳实践 CollectionView 模式?
【发布时间】:2013-09-15 23:23:13
【问题描述】:

许多 Backbone.js 示例和教程通过使用 CollectionView 来展示模型集合,它在自己的 render() 函数中循环项目并为每个模型创建一个新的 ItemView(然后渲染每个模型) .

这意味着当你的集合发生变化时,你不能只调用 render() - 你必须首先注意销毁/取消绑定以前的视图。

当一个简单的列表视图管理方法是说“当这个列表发生变化时,重新渲染它”时,这种视图对象的完全拆卸/重建感觉很重。更复杂(如果可能更有效)的方法是更具体地响应特定事件(例如“项目选择”)并调整单个项目视图。

在处理模型集合方面是否存在传统观念?

【问题讨论】:

    标签: backbone.js backbone-views


    【解决方案1】:

    如果您愿意在您的组合中添加另一个库,Backbone.Marionette 项目会添加一些类来处理集合视图和管理视图层次结构的复杂性:

    https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.collectionview.md

    如果您向 CollectionView 提供 Collection,它将保持同步并在添加或删除 Collection 中的模型时添加/删除单个子视图。我发现它对我有很大帮助。

    如果您想继续使用纯 Backbone,您仍然可以查看 Marionette 的 CollectionView 的源代码以了解一些通用约定,但您最终可能会重写很多功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      • 2013-08-29
      • 2021-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多