声明和定义角度主模块

时间:2016-01-23 09:29:45

标签: angularjs

通过阅读模型和控制器下的angular tutorial学习,代码块app / js / controllers.js下的第一段。

  

请注意,我们的ng-app指令(在html标记上)现在指定/声明phonecatApp模块名称作为引导Angular应用程序时要加载的模块。

controllers.js中的第一行代码是:
var phonecatApp = angular.module('phonecatApp', []);

我一直在努力理解这行代码到底应该做什么? 如果我的理解对我有用,我也会看到它,其中变量名称被省略,如:

    angular.module('phonecatApp', [])
    .controller('PhoneListCtrl', function ($scope) {
        $scope.phones = [...

因此ng-app="phonecatApp"告诉脚本要加载的Angular模块的名称 脚本如何了解主角度模块定义?是
 var phonecatApp = angular.module('phonecatApp', []);
两步线,定义主模块并将其分配给变量?
如果是这样,以后可以通过向其添加更多控制器/服务来修改此定义吗? 感谢

1 个答案:

答案 0 :(得分:0)

angular.module('phonecatApp', [])

定义并注册名为phonecatApp的模块。它是主要模块,不是因为它是以这种方式声明的,而是因为它是ng-app="phonecatApp"中使用的模块。

  

稍后可以通过向其添加更多控制器/服务来修改此定义

是的,当然。通过调用模块的controller()方法来添加控制器。您可以通过调用

来获取对模块的引用
angular.module('phonecatApp')

即。与定义它的功能相同,但没有作为第二个参数的模块数组。

记录在案:https://docs.angularjs.org/api/ng/function/angular.module

  

angular.module是一个创建,注册和检索Angular模块的全局场所。应用程序可用的所有模块(角度核心或第三方)必须使用此机制进行注册。

     

传递一个参数检索现有的angular.Module,而传递多个参数会创建一个新的angular.Module