考虑下面的代码:
html文件的一部分:
<body ng-app> <div ng-controller="MainCtrl">{{name}}</div> </body>
js文件的一部分:
function MainCtrl($scope) { $scope.name = "John"; }
我总是将控制器放在某个模块中,该模块的名称在ng-app中定义。当我不定义任何模块时,它如何工作?
Angular具有此“自动发现”功能,如果在全局作用域上定义了控制器,则可以按其名称查找控制器。
此功能主要用于快速演示/原型/概念验证摘要,而非实际应用。
从Angular的 开发人员指南中 :
注意: 尽管Angular允许您在全局范围内创建Controller函数,但不建议这样做。在实际的应用程序中,应为应用程序使用.controllerAngular模块的方法[…]
.controller
关于empty ngApp,如果未指定名称,则仅意味着没有模块可向其分配控制器,指令,服务,但除此之外一切正常。
ngApp