AngularJS 系列 02 - 模块
引导目录:
前言:
其实,在上篇文章介绍数据绑定的时候,我们的HelloWorld的代码案例中就已经使用了模块(module)。哈哈。
本篇就着重介绍一下angular.module()的使用。
本篇目录:
1. 为什么需要模块
3. 参数
1. 为什么需要模块
在JavaScript中,将所有的函数代码全部都定义在全局空间中绝对不是一个好的选择。
暂且不说变量作用域冲突 全局变量污染怎么破,你调试的时候是不是得浪费大量的时间?本来大好的青春 不去潇洒 全都砸在了代码上?!
2. 什么是AngularJS的模块
在AngularJS中,模块是定义应用最主要的方式。
模块里面包含了主要的应用代码,一个应用可以包含多个模块,每一个模块都汉堡了定义具体功能的代码。
使用模块有很多好处,比如:
- 保持全局命名空间的清洁
- 编写测试代码更容易,并能保持且清洁,以便更容易找到互相隔离的功能
- 易于在不同应用之间复用代码
- 使应用能够以任意顺序加载代码的各个部分
在AngularJS中,我们可以使用angular.module()方法来声明模块。
这个方法能够接受两个参数,第一个是模块的名字,第二个是依赖列表,也就是可以被注入到模块的对象列表。
angular.module("MyApp", []);
这个方法相当于AngularJS模块的setter方法,是用来定义模块用的。
调用这个方法时如果只传递一个参数,就可以用它来引用模块。
比如,可以通过下面的代码来引用MyApp模块:
// 这个方法用于获取应用
angular.module("MyApp");
这个方法相当于AngularJS模块的getter方法,是用来获取对模块的引用。
接下来,就可以在angular.module("MyApp")返回的对象上创建咱们的应用了。
开发大型应用的时候,我们会创建多个模块来承载业务逻辑,将复杂的功能分割成不同的模块,有助于单独为他们编写测试代码。
等后面实践的时候再详细介绍。
3. 参数
下面是angular.module()的参数列表:
1) name (字符串)
name是模块的名字,是一个字符串变量。
2) requires (字符串数组)
requires包含了一个字符串组成的列表,每个元素都是一个模块名称,本模块依赖于这些模块,依赖需要在模块加载之前由注入器进行预加载。
AngularJS 系列 02 - 模块的更多相关文章
- AngularJS 系列 学习笔记 目录篇
目录: AngularJS 系列 01 - HelloWorld和数据绑定 AngularJS 系列 02 - 模块 (持续更新)
- Aoite 系列(02) - 超动感的 Ioc 容器
Aoite 系列(02) - 超动感的 Ioc 容器 Aoite 是一个适于任何 .Net Framework 4.0+ 项目的快速开发整体解决方案.Aoite.Ioc 是一套解决依赖的最佳实践. 说 ...
- 第一个真正的 GUI 程序——Tkinter教程系列02
第一个真正的 GUI 程序--Tkinter教程系列02 前言 欢迎光临我的个人博客 chens.life Tk 系列教程: Tkinter教程系列01--引言和安装Tk 我们将编写一个英尺和米的转换 ...
- AngularJS 系列 01 - HelloWorld和数据绑定
目录导读: AngularJS 系列 学习笔记 目录篇 前言: 好记性不如烂键盘,随笔就是随手笔记,希望以后有用. 本篇目录: 1. Hello World 2. AngularJS中的数据绑定 3. ...
- SAP接口编程 之 JCo3.0系列(02) : JCo Client Programming
SAP接口编程 之 JCo3.0系列(02) : JCo Client Programming 字数545 阅读52 评论0 喜欢1 JCo3.0调用SAP函数的过程 大致可以总结为以下步骤: 连接至 ...
- Java 之 I/O 系列 02 ——序列化(二)
Java 之 I/O 系列 目录 Java 之 I/O 系列 01 ——基础 Java 之 I/O 系列 02 ——序列化(一) Java 之 I/O 系列 02 ——序列化(二) 继续上篇的第二个问 ...
- Java 之 I/O 系列 02 ——序列化(一)
Java 之 I/O 系列 目录 Java 之 I/O 系列 01 ——基础 Java 之 I/O 系列 02 ——序列化(一) Java 之 I/O 系列 02 ——序列化(二) 一 序列化概述 序 ...
- Java 集合系列 02 Collection架构
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- AngularJS系列之总结
AngularJS深入的系列就是这九篇博客了,把我以前在项目中应用到的和自己学习的都总结在了里面.为了更方便的看,把我写的AngularJS系列的博客都列到下面.之后就开始学习ionic:html5移 ...
随机推荐
- ASP.NET MVC Model验证(四)
ASP.NET MVC Model验证(四) 前言 本篇主要讲解ModelValidatorProvider 和ModelValidator两种类型的自定义实现,前者是Model验证提供程序,而Mod ...
- Glide源码导读
最近比较无聊,为了找点事干,就花了两天时间把Glide的源码大概看了一下.刚开始看Glide的源码头脑还是比较乱的,因为作者引入了几个概念,又大量用了泛型,如果不了解这些概念读起代码来就比较痛苦,我也 ...
- 通过Gradle为APK瘦身
引言:在过去几年中,APK 文件的大小曾急剧增长态势.一般来说,其原因如下:Android开发者获取了更多的依赖库,添加了更多的密度,Apps 增加了更多的功能.但实际上我们应该让APKs 尽可能的小 ...
- Jquery事件
在JS里加事件 <input type="button" value="测试" onclick="test()"/>跟一个函数 ...
- Php基础知识测试题
一:选择题 1. LAMP具体结构不包含下面哪种(A ) A:Windows系统 如果是这个就是WMP B:Apache服务器 C:MySQL数据库 D:PHP语 ...
- C#的Process类调用第三方插件实现PDF文件转SWF文件
在项目开发过程中,有时会需要用到调用第三方程序实现本系统的某一些功能,例如本文中需要使用到的swftools插件,那么如何在程序中使用这个插件,并且该插件是如何将PDF文件转化为SWF文件的呢?接下来 ...
- WebAPI接口返回ArrayList包含Dictionary对象正确解析
一.问题提出 为了减少流量,将key-value(键值对)直接输出到Dictionary<string, string>,接口返回结果如下: 其中{}里面内容如下: 上图显示600是键,4 ...
- 代码的坏味道(11)——霰弹式修改(Shotgun Surgery)
坏味道--霰弹式修改(Shotgun Surgery) 霰弹式修改(Shotgun Surgery) 类似于 发散式变化(Divergent Change) ,但实际上完全不同.发散式变化(Diver ...
- Rafy 领域实体框架 - 公司内部培训视频
本月给公司内部一个项目做架构重构,其中使用到了 Rafy 框架.所以我培训了 Rafy 领域实体框架的使用方法,过程中录制了视频,方便其他同事查看.现在把视频放到园里来分享下,有兴趣的朋友可以看看,有 ...
- 你所不知道的linq(二)
上一篇说了from in select的本质,具体参见你所不知道的linq.本篇说下from...in... from... in... select 首先上一段代码,猜猜结果是什么? class P ...