构建真实世界 AngularJS 应用程序,我应该如何在 html 中声明我的控制器。我需要在 index.html 中声明所有内容吗?

Building Real World AngularJS apps, how should I declare my controllers in html. Do I need to declare all in the index.html?

我有一个基于例如Northwind 数据库,我在其中为每个不同的对象构建了视图,以使用 AngularJS 视图和大多数开发人员采用的典型文件结构来维护它们。

我有一个问题想改进,首先从我看到的所有例子来看,你需要在 index.html 文件中声明你的控制器。如果用户使用的一个模块不需要,所有其他控制器,是否需要在客户端加载所有控制器。有没有更好的方法来只声明每个视图需要的控制器?

这是单页 LOB 的正常行为,预加载所有必要的依赖项,无论是否需要?

没有。不要在 HTML 中声明您的控制器。 您在模板中添加的逻辑越少,您的应用程序就越灵活。 在 HTML 中包含 controllers 的问题在于,如果某些嵌套控制器具有相同的实例变量(例如 foobar),那么您不知道会显示哪个:

<div ng-controller="firstController">
...
   <div ng-controller="secondController">
   ...
   {foobar}

那么,最好的方法就是使用模块和路由。通过路线,您可以告诉 AngularJS 您的 HTML 应该由 aController 控制。 我正在寻找一个好的应用程序开始,看看 at this one。 它由 AnguarJS 团队开发,展示了一些值得遵循的良好实践。您会注意到 HTML 文件中的 none 包含对控制器的引用。