使用角度js的不同方式

时间:2016-08-03 22:54:52

标签: javascript angularjs

我一直在研究角度js,我发现创建模块,控制器等的方法很多......

例如:

var app = angular.module('myApp', []);

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

如果我想创建一个控制器(第一种方式):

app.controller('myController', [...]);

创建一个控制器(第二路):

angular.module('myApp').controller('myController', [...]);

真的......有什么区别?

谢谢!

2 个答案:

答案 0 :(得分:0)

实际上没有区别,它完全相同。

这个app.controller(...)等于angular.module(' myApp')。controller(...)

因为您声明了一个名为app的变量,它等于angular.module()

链接的东西:angular.module.controller就是你们所有人的3个例子。

将angular.module()放入一个名为app的变量或其他只是使语法更容易的所有^^

答案 1 :(得分:0)

angular.module(' myApp',[])是模块的setter,它在创建实例后返回该实例。将var app =放在前面只保留对模块JavaScript对象的引用。模块名称后面的空数组是依赖项列表。我们传入一个空的依赖列表,以区别于getter调用,让Angular知道它是一个setter调用,我们正在创建一个模块。

angular.module(' myApp')是模块的getter并返回JavaScript对象。这里的区别在于没有依赖项列表,因此Angular知道它正在检索已经创建的模块。

当你在同一个文件中时,可以使用像app这样的局部变量来保持对模块的引用,但是当你在不同的文件中创建控制器时,你不应该依赖于全局变量调用应用程序的存在而应该使用getter调用检索模块。