angularjs - 指定 AngularJS Controller : benefits using ngController vs. $routeProvider

标签 angularjs angularjs-routing angularjs-controller

有两种方法(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/

    相关文章:

    javascript - AngularJS - $scope 变量未在工厂中更新

    angularjs - 如何动态更改 ui-router 使用的默认状态?

    javascript - 如何在ui-sref中单绑定(bind)?

    javascript - Angular 模块注入(inject)错误

    javascript - 如何用参数做 $state.go() ?

    javascript - 结合 AngularJS Controller 中的常用功能

    angularjs - 根据路由组动态加载 Controller

    javascript - AngularJS $apply 范围 var 引发异常

    angularjs - 在 angularjs 版本 1.3.0 中使用 ng-controller 时出现错误

    javascript - 交换 AngularJS 语法导致错误