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的私有对象内.

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...