AngularJS的{.module(“modulename”,[...])“方括号的含义是什么

时间:2015-08-13 13:29:32

标签: javascript angularjs angularjs-routing

我刚刚在AngularJS中看到example路由。我想知道synatx 'ngRoute'中依赖关系mainApp和模块var mainApp = angular.module("mainApp", ['ngRoute']);之间的关系。

以前我见过模块声明中带空方括号的示例。

以下是代码的整个上下文:

var mainApp = angular.module("mainApp", ['ngRoute']);

  mainApp.config(['$routeProvider',
     function($routeProvider) {
        $routeProvider.
           when('/addStudent', {
              templateUrl: 'addStudent.htm',
              controller: 'AddStudentController'
           }).
           when('/viewStudents', {
              templateUrl: 'viewStudents.htm',
              controller: 'ViewStudentsController'
           }).
           otherwise({
              redirectTo: '/addStudent'
           });
     }]);

2 个答案:

答案 0 :(得分:2)

在角度中,在定义module(创建它)时,将它所依赖的其他module的名称作为数组传递给它(在方括号中)。

在您的示例中,mainApp - module取决于ngRoute - module,制作ngRoute的组件(指令,服务,工厂,值...)可用于mainApp中组件的依赖注入。要定义不依赖于任何其他模块的module,请传递一个空数组([]See the angular documentation for some more info on modules

答案 1 :(得分:1)

[...]定义了一个数组

在有角度的情况下。

mainApp是主模块(主数组),ngRoute是子模块(类似于对象数组)。

样本

var ngRoute=[];//{}

var mainApp=[ngRoute];// now the `mainApp` includes the `ngRoute`