何时在AngularJS应用程序中使用自定义指令vs ui-view vs ng-include?

时间:2014-06-15 23:51:54

标签: javascript angularjs angular-ui-router

我正在构建一个庞大而复杂的AngularJS应用程序(想想ERP系统)。我很难决定何时使用ui-viewng-includecustom directive + templateURL

我将举几个具体的例子给你们所有的东西。

  • 导航菜单,用于应用程序的所有网址,但包含复杂的AJAX自动提示/下拉搜索框。
  • 一个简单的HTML页脚,在应用程序的所有URL中都是相同的
  • 页眉和页脚之间的内容区域。
  • 位于内容区域内的各个组件(例如“编辑个人资料”表单或用户信息中心)
  • 模态对话框

最佳做法是什么?

1 个答案:

答案 0 :(得分:11)

对于任何大型或复杂的应用程序,我建议尽可能多地将代码组织成可重用的自定义指令。自定义指令将允许您利用角度指令实现最大的可重用性,并最小化仅依赖内置指令时存在的重复HTML。

UI视图适用于根据路由动态交换控制器和视图。如果您具有应用程序功能,其中每个视图和控制器组合都是自包含的,则使用带路径的ui-view是有意义的。