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

Jak*_*ski 18 javascript angularjs angular-ui-router

我正在构建一个庞大而复杂的AngularJS应用程序(想想ERP系统).我很难决定什么时候适合使用ui-view,ng-include或者a custom directive + templateURL.

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

  • 导航菜单,用于应用程序的所有URL,但包含复杂的AJAX自动提示/下拉搜索框.
  • 一个简单的HTML页脚,在应用程序的所有URL中都是相同的
  • 页眉和页脚之间的内容区域.
  • 嵌套在内容区域中的各个组件(例如"编辑配置文件"表单或用户仪表板)
  • 模态对话框

什么是最佳做法?

pix*_*its 11

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

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