微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – 定义Angular应用程序的好处是什么?

在某些AngularJS教程中,角度应用程序定义为:
myApp = angular.module("myApp",[]);

但是我们也可以没有它.我唯一可以看到的区别是当我们定义控制器时,我们不能使用成语:

myApp.controller("myCtrl",function(){ })

但必须使用

function myCtrl (){}

鉴于我只会为我的网站创建一个应用程序,是否有明确定义myApp的其他好处?如果我没有定义myApp,那么我的模块附加到哪里?

如果有,我可以在Jasmin测试中重新创建myApp吗?

您可以(至少)3种方式定义控制器:

>将控制器定义为全局变量(存储在窗口对象上)

function Ctrl() {}

这是一样的:

window.Ctrl = function () {}

>创建一个模块并使用返回的实例创建新的控制器:

var app = angular.module('app',[]);
app.controller('Ctrl',function() {});

>直接在模块上创建控制器,而不存储任何引用(与2相同但不使用vars):

angular.module('app',[]);
angular.module('app').controller('Ctrl',function() {});

从Angular的角度来看,他们都是一样的,甚至可以混合在一起,他们会工作.唯一的区别是选项1使用全局变量,而在选项2和3中,控制器存储在Angular的私有对象内.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐