AngularJS权威教程 第3章 模块Module
2015-12-18 13:40
543 查看
AngularJS权威教程 第3章 模块Module
3.1.模块
在AngularJS中,模块是定义应用的最主要方式。模块包含了主要的应用代码。一个应用可以包含多个模块,每一个模块都包含了定义具体功能的代码。
使用模块能给我们带来许多好处,比如:
保持全局命名空间的清洁;
编写测试代码更容易,并能保持其清洁,以便更容易找到互相隔离的功能;
易于在不同应用间复用代码;
使应用能够以任意顺序加载代码的各个部分。
AngularJS允许我们使用angular.module()方法来声明模块。
这个方法能够接受两个参数,第一个是模块的名称,第二个是依赖列表,也就是可以被注入到模块中的对象列表。
调用这个方法时如果只传递一个参数,就可以用它来引用模块。例如,可以通过以下代码来引用myApp模块:
2.参数
angular.module()参数如下。
name(字符串) name是模块的名称,字符串变量。
requires(字符串数组)
requires包含了一个字符串变量组成的列表,每个元素都是一个模块名称,本模块依赖于这些模块,依赖需要在本模块加载之前由注入器进行预加载。
3.示例代码如下
index,
效果如图:
3.1.模块
在AngularJS中,模块是定义应用的最主要方式。模块包含了主要的应用代码。一个应用可以包含多个模块,每一个模块都包含了定义具体功能的代码。
使用模块能给我们带来许多好处,比如:
保持全局命名空间的清洁;
编写测试代码更容易,并能保持其清洁,以便更容易找到互相隔离的功能;
易于在不同应用间复用代码;
使应用能够以任意顺序加载代码的各个部分。
AngularJS允许我们使用angular.module()方法来声明模块。
这个方法能够接受两个参数,第一个是模块的名称,第二个是依赖列表,也就是可以被注入到模块中的对象列表。
//这个方法相当于AngularJS模块的setter方法,是用来定义模块的. angular.module('myApp', []);
调用这个方法时如果只传递一个参数,就可以用它来引用模块。例如,可以通过以下代码来引用myApp模块:
// 这个方法用于获取应用,这个方法相当于AngularJS模块的getter方法,用来获取对模块的引用。 angular.module('myApp')
2.参数
angular.module()参数如下。
name(字符串) name是模块的名称,字符串变量。
requires(字符串数组)
requires包含了一个字符串变量组成的列表,每个元素都是一个模块名称,本模块依赖于这些模块,依赖需要在本模块加载之前由注入器进行预加载。
3.示例代码如下
index,
<!doctype html> <html lang="en" ng-app="myApp"> <head> <meta charset="utf-8"> <title>Sample app</title> <link rel="stylesheet" href="css/app.css"/> <meta name="viewport" content="width=device-width"> </head> <body> {{ clock }} <div ng-controller="MyController"> <h5>Hello {{ clock.now }}</h5> </div> <!-- Library files --> <script src="lib/angular.js"></script> <script src="lib/angular-route.js"></script> <!-- App files --> <script src="js/filters.js"></script> <script src="js/controllers.js"></script> <script src="js/directives.js"></script> <script src="js/services.js"></script> <script src="js/app.js"></script> </body> </html>app.js
var app = angular.module('myApp', [ 'myApp.services', 'myApp.directives', 'myApp.filters', 'myApp.controllers' ]);
controllers.js
angular.module('myApp.controllers', []) .controller('MyController', function($scope) { $scope.clock = { now: new Date() }; var updateClock = function() { $scope.clock.now = new Date(); }; setInterval(function() { $scope.$apply(updateClock); }, 1000); updateClock(); });directives.js
angular.module('myApp.directives', []);filters.js
angular.module('myApp.filters', []);services.js
angular.module('myApp.services', []) .value('version', '0.0.1');
效果如图:
相关文章推荐
- AngularJS权威教程 第2章 数据绑定和第一个 AngularJS Web应用
- AngularJS权威教程 第1章 初始AngularJS
- 基于Java+Require+Angular+Bootstrap+MySQL的Admin
- [AngularJS面面观] 1. scope中的Dirty Checking(脏数据检查) --- 引言
- Angularjs promise对象解析
- AngularJS 控制器
- Angularjs最佳实践一----Angularjs基础
- Javascript赋值传址的一点小坑(AngularJS)
- jQueryMobile与AngularJS的区别
- AngularJS 指循环数组对象
- AngularJS 重复HTML元素
- AngularJS 数据绑定
- AngularJs中,如何在ng-repeat完成之后,执行Js脚本
- Angular2组件开发—调用服务(三)
- AngularJS学习笔记
- AngularJS 依赖注入
- Angular - - form.FormController、ngModel.NgModelController
- Angular - - angular.Module
- Angular - - $compile编译服务与指令
- Angular - - $cacheFactory