在angularJs中,有和没有变量的模块声明有什么区别?

时间:2015-09-29 12:03:33

标签: angularjs

纠正我如果我错了..

--Setting a module
    var app = angular.module("myapp", []);

//这里的括号表示模块不存在只是创建它,空数组是它所依赖的模块列表

--Getting a module
    var app = angular.module("myapp");

//如果括号不在这里意味着模块存在就找到它。

但下面的行之间有什么区别: -

  var myapp = angular.module("myapp", []);
  myapp.controller("MyController", "$scope", [function($scope){
    //TODO
  }]);

  and 

  angular.module("myapp", [])
  .controller("MyController", "$scope", [function($scope){
    //TODO
  }]);

我认为只有当我们的模块被分成多个文件时才应该使用变量。 但我不确定它是否真的会有所作为。

根据Angular Style Guide,我们不应该在声明模块时使用变量。有人可以澄清一下吗?

由于

1 个答案:

答案 0 :(得分:2)

  

- 设置模块

var app = angular.module("myapp", []);`
     

这里括号表示模块不存在只是去创建它,空数组是它所依赖的模块列表

     

- 获取模块

var app = angular.module("myapp");`
     

//如果括号不在这里意味着模块存在就找到它。

正确

  

我们不应该在声明模块时使用变量。有人可以澄清

当你写:var myapp = angular.module("myapp", []);时,你正在全局范围内创建变量myapp

  

我认为只有当我们的模块分为多个文件时才应该使用变量

没有必要。您始终可以使用angular.module("moduleName");获取模块,从而避免创建全局变量。