有两种方法(AFAIK)将 Controller 与 View 模板/部分相关联:$routeProvider
中指定的路由和 ngController
指示。特别是(但不限于)对于简单的路由,一个比另一个有什么好处/效率吗?
我的项目目前使用 $routeProvider 方法,但我被赋予了嵌套 View 的任务。使用 ngInclude 似乎很简单,只要部分指定它的 ngController。
最佳答案
这个问题真的归结为设计,因此它有点基于意见。考虑到这一点,我所知道的最好的指导是:
$routeProvider
- 允许您为模板指定单个 Controller 。由于这是路由的一部分,因此很容易找到与页面一起使用的 Controller 。我使用它来存储和加载整个页面逻辑,而不是特定于元素的逻辑。这也很重要,因为这意味着您可以为两条不同的路由加载完全相同的模板,但行为和数据可能会有所不同,因为 Controller 可以更改。这不是使用
ngController
容易做到的事情。选项。 ngController
- 这将 Controller 范围限定为页面/模板上的特定元素。当您在单个页面上需要多个 Controller 时,这可以使代码更易于阅读,并且允许 Controller 的范围更明确。 所以它真的归结为范围和意图。希望这些规则在决定使用哪个时会有所帮助。
关于angularjs - 指定 AngularJS Controller : benefits using ngController vs. $routeProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23696807/