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

时间:2014-06-05 07:49:05

标签: javascript angularjs

考虑下面的代码:

html文件的一部分:

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

js文件的一部分:

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

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

1 个答案:

答案 0 :(得分:9)

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

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


来自Angular的 Developer Guide

  

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


关于空ngApp,如果没有指定名称,它只表示没有模块可以分配控制器,指令和服务,但除此之外一切正常。

相关问题