与树视图小部件的主干

我正在评估一个项目中使用的Backbone JavaScript框架 ,该项目将在树视图窗口小部件中显示分层模型(请考虑Windows文件浏览器)。

喜欢 Backbone如何看待这个世界。 然而,在我接触到一个概念certificate之前,有很多代码都是由Backbone实际上从一个服务器接收一个分层模型并更新一个树部件。 我已经看到了用Backbone来表示深层数据结构的各种解决scheme,但我想知道…有没有人真的这样做?

只要知道这是可能的将是一个帮助。 实际上命名树视图UI组件和在Backbone中使数据分层的指针会更好。 一些示例代码将会非常棒。

就数据大小而言,树会运行100个叶子项目(文档)的低1000个节点(文件夹),并且逐渐加载数据(例如,一次点击一个文件夹)将是很好的。虽然这可能不是一个showstopper。

谢谢!

如果您不想沿着分层数据集path行进,则可以使用嵌套集( http://en.wikipedia.org/wiki/Nested_set_model )。 这允许您将整个集合存储在单个数组(或列表或任何您想要调用它)中,并使用“左”和“右”值来确定列表的结构和层次结构。

如果我没记错的话,这个技术最初是为了优化关系数据库中的数据存储和查询而构build的。 不过,我已经在C#/ Winforms应用程序中多次使用过它,以避免产生recursion层次的数据,并且运行良好。

这在JavaScript中的实现应该是相当容易的,但我不知道如何执行一个大的列表。

好问题,是的,我之前做过这个

自从( http://backbonerelational.org/)2013以来,我一直在使用骨干关系,对我来说工作得很好。;

我的场景与你的场景类似,我有一个复杂的JSON文件,集合中有很多集合和集合。

有了这个插件,你可以做这样的事情:

class产品扩展Backbone.RelationalModel //只是一个例子。

 relations: [ { type : Backbone.Many key : 'the name of model or collection' } 

阅读文档。 它运作良好。

另一个很好的插件,可以帮助我实现Model Binder( https://github.com/theironcook/Backbone.ModelBinder )它有助于将视图与模型绑定。

我做这些插件好,一切正常。

希望能帮助到你。

也许你会在这个页面上find答案。 我试图写在Backbone.js和Epoxy.js分层树https://stackoverflow.com/questions/20639550/backbone-epoxy-js-and-hierarchies-trees

这是这样的

  • 顶级1
    • 第二级,第1项
      • 第3级,第1项
      • 第3级,第2项
      • 第3级,第3项
    • 第2级,第2项
      • 第3级,第4项
      • 第3级,第5项
        • 第四级,第1项
        • 第四级,第2项
        • 第四级,第3项
      • 第三级,第6项
  • 顶级2
    • 第二级,第3项
      • 第3级,第7项
      • 第三级,第8项
      • 第三级,第9项
    • 第2级,第4项
      • 第三级,第10项
      • 第三级,第11项
      • 第三级,第12项