【问题标题】:Angular Tree Design: One single controller for whole tree, or one controller per tree node?Angular Tree Design:一个控制器用于整棵树,还是每个树节点一个控制器?
【发布时间】:2015-09-26 13:54:14
【问题描述】:

Newby AngularJS 设计问题。当我说“控制器”时,我指的是所有常见的组件,例如指令、模板和其他通常一起使用的东西。

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

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

  • 递归控制器设置是否存在性能问题 还是对整棵树使用一个控制器会更好?
    • 使用单树控制器设置有哪些好的示例代码?
  • 一般来说,AngularJS 能很好地处理递归模式还是 ng 的反模式?

【问题讨论】:

标签: angularjs design-patterns


【解决方案1】:

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

这样,您将使用 1 个控制器和一个指令,并将所有元素保存在 1 个 json 对象中。

它也是开源/免费的,而 Kendo UI 是 699 美元

【讨论】:

  • 虽然你没有回答我的问题,但我很感激这个链接。
  • 我给了你一个单控制器的递归数据解决方案。这将讨论递归控制器选项stackoverflow.com/questions/18415142/…。当最简单的方法是使用递归数据并且如果您需要在每个树节点中添加额外的指令或控制器时,我不会采用这种方法。
  • 我知道我有两种选择。问题是关于利弊。
猜你喜欢
  • 1970-01-01
  • 2012-07-07
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多