2015-09-26 39 views
0

Newby AngularJS设计问题。当我说“控制器”时,我指的是所有通常的组件,如指令,模板和其他通常一起使用的组件。角树设计:整棵树的单个控制器,或每个树节点的单个控制器?

需要为每个文件夹中的文件夹和对象创建一个用户“工作区”。用户可以创建/删除/重命名文件夹及其子对象。最多可能有50个文件夹,但每个文件夹中可能有100个对象。

当然,我想实现一个递归控制器的想法就像提到这个问题Is it possible to make a Tree View with Angular?

  • 会不会有一个递归控制器设置 性能问题或将是最好使用一个控制器,用于整个树?
    • 什么是使用单一树控制器设置的一些好的示例代码?
  • 一般来说,AngularJS是否能很好地处理递归模式,或者它是ng的反模式?
+0

也许看看使用Kendo UI树视图。 Kendo拥有像样的Angular绑定,并且比从头开始编写IMO更好。下面是一个例子... http://demos.telerik.com/kendo-ui/treeview/angular – hally9k

+0

递归模板可以用:https://github.com/dotJEM/angular-tree – Jens

回答

2

我会推荐和使用https://github.com/angular-ui-tree/angular-ui-tree它有大量现有的插入,拖放和克隆功能......它非常灵活,有一些很棒的演示,并且有很多历史和贡献者。

有了这个,你可以使用1个控制器和一个指令,并把所有元素放在1个json对象中。

另外它是开源免费,而Kendo UI是$ 699

+0

虽然你不回答我的问题,我很欣赏这个链接。 – AlJo

+0

我给你一个单一控制器的递归数据解决方案。这讨论递归控制器选项http://stackoverflow.com/questions/18415142/how-to-handle-recursive-rendering-of-data-using-angularjs。如果最简单的方法是使用递归数据,并且您需要每个树节点中的附加指令或控制器,那么我不会采用这种方法。 – Enkode

+0

我知道我有两种选择。问题是关于利弊。 – AlJo