一尘不染

ngApp,不使用任何特定的模块名称

angularjs

考虑下面的代码:

html文件的一部分:

<body ng-app>
    <div ng-controller="MainCtrl">{{name}}</div>
</body>

js文件的一部分:

function MainCtrl($scope) {
  $scope.name = "John";
}

我总是将控制器放在某个模块中,该模块的名称在ng-app中定义。当我不定义任何模块时,它如何工作?


阅读 228

收藏
2020-07-04

共1个答案

一尘不染

Angular具有此“自动发现”功能,如果在全局作用域上定义了控制器,则可以按其名称查找控制器。

此功能主要用于快速演示/原型/概念验证摘要,而非实际应用。


从Angular的 开发人员指南中

注意:
尽管Angular允许您在全局范围内创建Controller函数,但不建议这样做。在实际的应用程序中,应为应用程序使用.controllerAngular模块的方法[…]


关于empty ngApp,如果未指定名称,则仅意味着没有模块可向其分配控制器,指令,服务,但除此之外一切正常。

2020-07-04