【发布时间】:2011-09-03 06:28:56
【问题描述】:
我正在评估 Backbone javascript framework 以用于将在树视图小部件中显示分层模型的项目(想想 Windows 文件浏览器)。
我喜欢 Backbone 对世界的看法。但是,在我得到一个概念证明之前,涉及到很多编码,Backbone 实际上从服务器接收分层模型并更新树小部件。我已经看到representing deep data structures with Backbone 有各种解决方案,但我想知道......有没有人真的这样做过?
只要知道这是可能的就会有所帮助。实际上,在 Backbone 中命名树视图 UI 组件和用于使数据分层的指针会更好。一些示例代码会非常棒。
就数据大小而言,树将运行 100 个节点(文件夹)和 1000 个叶项(文档),并且逐步加载数据会很好(例如,当用户单击时,一次一个文件夹in),尽管这可能不是什么大事。
谢谢!
【问题讨论】:
-
好吧,我问了关于深度数据结构的问题,我可以说 Backbone-Relational 确实做到了它所说的那样,并且我已经创建了存在的关系。另外,我应该补充一点,对于所有节点都相同的关系结构,我在客户端将结构展平,并在侧面使用链表来维护树状结构。所以是的,这是可能的。我要补充一点,在大约 10,000 个项目中,Firefox 2 确实陷入了困境。 Chrome 是高性能的。
-
感谢您的信息。你会再走那条路,还是会使用原生支持层次结构的系统?
-
这取决于服务器提供的内容。在所描述的情况下,服务器没有在服务器端提供搜索和过滤,因此所有内容都需要在客户端上。通过创建过滤集合然后遍历节点结构,我能够以合理的性能方式显示内容。如果服务器能够提供过滤集合,我会选择基于关系的解决方案。
-
我在这些方面做了一些事情......大约 4 层深度相对平衡的树。但是要知道我是否可以做出贡献,我需要知道您的数据在后端是如何组织的?关系,键/值以及返回的方式/内容,json/xml?此外,当您说分层填充模型时,您的意思是
Backbone.Model或Backbone.Collection还是抽象概念意义上的模型?您是否只需要从服务器填充或“也”将其同步回来(即,它是“一旦加载完成”类型?)如果您可以使用其中一些信息更新您的问题,那就太好了... -
Nupul:数据是相关的,但可能会转移到 Mongo。可以使用 json、XML 或任何其他方便的方式将其发送到浏览器。我的意思是专门填充 Backbone.Model 和 Collection。我需要双向同步:这就是人们首先使用 Backbone 的原因,对吧?
标签: hierarchical-data backbone.js