Angular已经弃用了没有名字的ng-app声明

时间:2015-06-28 07:11:19

标签: angularjs

考虑下面的代码:

html文件的一部分:

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

js文件的一部分:

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

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

我刚开始使用角js并面对上面的场景。

1 个答案:

答案 0 :(得分:3)

在DOM中使用名称声明您的应用:

<html ng-app="myApp">

接下来,将您的应用注册为JavaScript中的模块:

angular.module("myApp", []);

注意数组为第二个参数;这意味着您正在注册一个新模块,而不是访问以前定义的模块。

最后,将您的控制器注册到您的应用程序:

angular.module("myApp")
.controller("MyCtrl", ["$scope", function($scope) {
  // controller code goes here
}]);

注意这次缺少第二个参数,因为你得到了之前定义的myApp模块。

您的问题已在2nd step of the Angular tutorial中得到解答。如果您是Angular的新手,我建议您从这里开始(step_00)。