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移 ...
随机推荐
- CSS currentColor 变量的使用
CSS中存在一个神秘的变量,少有人知自然也不怎么为人所用.它就是crrentColor变量(或者说是CSS关键字,但我觉得称为变量好理解些). 初识 它是何物?具有怎样的功效?它从哪里来?带着这些疑问 ...
- CSharpGL(18)分别处理glDrawArrays()和glDrawElements()两种方式下的拾取(ColorCodedPicking)
CSharpGL(18)分别处理glDrawArrays()和glDrawElements()两种方式下的拾取(ColorCodedPicking) 我在(Modern OpenGL用Shader拾取 ...
- Azure File Storage 基本用法 -- Azure Storage 之 File
Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure Blob Storage 基 ...
- jar hell & elasticsearch ik 版本问题
想给es 安装一个ik 的插件, 我的es 是 2.4.0, 下载了一个版本是 1.9.5, [2016-10-09 16:56:26,248][INFO ][node ] [node-2] init ...
- MongoDB下载安装与简单增删改查
Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongo ...
- ElasticSearch 5学习(6)——分布式集群学习分享1
在使用中我们把文档存入ElasticSearch,但是如果能够了解ElasticSearch内部是如何存储的,将会对我们学习ElasticSearch有很清晰的认识.本文中的所使用的ElasticSe ...
- Android动画效果之初识Property Animation(属性动画)
前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...
- 杂谈:用 Sublime Text 2 写 ActionScript3
Sublime Text这是程序员最喜爱的编辑器,说说在win7下使用Sublime Text来编写as文件以及编译与运行swf. 准备工作 1.Sublime Text 2 2.Java 的JDK( ...
- windows环境tomcat8配置Solr5.5.1
前言 前前后后接触Solr有一个多月了,想趁着学习Solr顺便把java拾起来.我分别用4.X和5.X版本在windows环境下用jetty的方式.tomcat部署的方式自己搭建了一把.其中从4.x到 ...
- PHP实现查询Memcache内存中的所有键与值
使用Memcache时,我们可以用memcache提供的get方法,通过键查询到当前的数据,但是有时候需要查询内存中所有的键和值,这个时候可以使用下面的代码实现: <?php /** * Cre ...