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

Adr*_*ran 6 javascript angularjs

考虑下面的代码:

html文件的一部分:

<body ng-app>
    <div ng-controller="MainCtrl">{{name}}</div>
</body>
Run Code Online (Sandbox Code Playgroud)

js文件的一部分:

function MainCtrl($scope) {
  $scope.name = "John";
}
Run Code Online (Sandbox Code Playgroud)

我总是把我的控制器放在一些模块中,我在ng-app中定义了它的名字.当我没有定义任何模块时它是如何工作的?

gka*_*pak 9

Angular具有这种"自动发现"功能,如果在全局范围内定义控制器,它可以按名称查找控制器.

此功能主要用于快速演示/原型/概念验证片段,而不是真实世界的应用程序.


来自Angular的开发人员指南:

注意:虽然Angular允许您在全局范围内创建Controller函数,但不建议这样做.在实际应用中,您应该使用.controllerAngular模块的方法来应用[...]


关于空ngApp,如果没有指定名称,它只意味着没有模块来分配控制器,指令,服务,但除此之外一切正常.