我的申请基于例如Northwind数据库,我使用AngularJS视图和大多数开发人员采用的典型文件结构,为每个不同的对象构建了视图以保持CRUD。
我有一个问题需要改进,首先从我看到的所有示例中,您需要在index.html文件中声明您的控制器。如果用户使用的一个模块不需要,则所有其他控制器都需要加载客户端上的所有控制器。有没有更好的方法来声明每个视图需要的控制器?
这是单页LOB的正常行为,是否预先加载所有必需的依赖项,无论是否需要?
答案 0 :(得分:1)
没有。不要在HTML中声明您的控制器。
您在模板中添加的逻辑越少,您的应用就越灵活。
在HTML中包含controllers
的问题是,如果某些嵌套控制器具有相同的实例var(示例foobar),那么您就不知道将显示哪一个:
<div ng-controller="firstController">
...
<div ng-controller="secondController">
...
{foobar}
然后,最好的方法是使用模块和路由。通过路由,您可以告诉AngularJS您的HTML应该由aController
控制。
我想找一个好的应用程序,看看at this one。
它由AnguarJS团队开发,并展示了一些良好的实践。您可以注意到,没有任何HTML文件包含对控制器的引用。