AngularJS(四)——模块
来源:互联网 发布:js 自定义window对象 编辑:程序博客网 时间:2024/06/05 11:07
一、什么是模块
<span style="font-size:18px;"><!doctype html><html ng-app="myApp"><head><script src="js/angular-1.3.0.js"></script><script src="mokuai1.js"></script></head><body><div>{{ 'World' | greet }}</div></body></html></span>
<span style="font-size:18px;">var myAppModule = angular.module('myApp', []);// configure the module.// in this example we will create a greeting filtermyAppModule.filter('greet', function() {return function(name) {return 'Hello, ' + name + '!';};});</span>
二、模块的加载和依赖
三、用途
利用模块可以做什么呢?我们可以用它来实例化控制器、指令、过滤器以及服务,但是利用模块类还可以做更多事情。如下模块配置的API方法:
1.config(configFn)
利用此方法可以做一些注册工作,这些工作需要在模块加载时完成。
2.constant(name, object)
此方法会首先运行,所以你可以用它来声明整个应用范围内的常量,并且让它们在所有配置(config方法)和实例(后面的所有方法,例如controller、service等)方法中可用。
3.controller(name,constructor)
它的基本作用是配置好控制器方便后面使用。
4.directive(name,directiveFactory)
可以使用此方法在应用中创建指令。
5.filter(name,filterFactory)
允许你创建命名的AngularJS过滤器,就像前面章节所讨论的那样。
6.run(initializationFn)
如果你想要在注射器启动之后执行某些操作,而这些操作需要在页面对用户可用之前执行,就可以使用此方法。
7.value(name,object)
允许在整个应用中注射值。
8.factory(name,factoryFn)
如果你有一个类或者对象,需要首先为它提供一些逻辑或者参数,然后才能对它初始化,那么你就可以使用这里的factory接口。factory是一个函数,它负责创建一些特定的值(或者对象)。我们来看一个greeter(打招呼)函数的实例,这个函数需要一条问候语来初始化:
function Greeter(salutation) {
this.greet = function(name) {
return salutation + ' ' + name;
};
}
greeter函数示例如下:
myApp.factory('greeter', function(salut) {
return new Greeter(salut);
});
然后可以这样来调用它:
9.service(name,object)
factory和service之间的不同点在于,factory会直接调用传递给它的函数,然后返回执行的结果;而service将会使用"new"关键字来调用传递给它的构造方法,然后再返回结果。
10.provider(name,providerFn)
provider是这几个方法中最复杂的部分(显然,也是可配置性最好的部分)。provider中既绑定了factory也绑定了service,并且在注入系统准备完毕之前,还可以享受到配置provider函数的好处(也就是config块)。
四、总结
- AngularJS(四)——模块
- angularJS——模块加载
- AngularJS学习笔记——使用模块定义AngularJS组件
- AngularJS系列(九)——模块
- AngularJS(四)——ng-controller(控制器)
- AngularJS教程 AngularJS从0到1——AngularJS模块
- AngularJS系列(四)——服务
- AngularJS入门(四)
- AngularJs实战(四)
- AngularJs(四)控制器
- AngularJS入门-(10)模块
- AngularJS(二)创建模块
- AngularJS(一)——从零开始AngularJS
- AngularJS(一)——初识AngularJS
- AngularJS实际项目应用——模块划分
- AngularJS实际项目应用——模块路由
- AngularJS实际项目应用——动态模块切换设计
- AngularJS提供的模块——ngRoute路由
- Android 初识 MVC、MVP框架
- SqlmapApi提供的接口说明
- datagrid 内嵌 combotree 显示 valueField 而不是 valueText 的解决办法
- Android月历控件(DatePicker)和时间控件(TimePicker)的使用
- 目录遍历漏洞
- AngularJS(四)——模块
- 【华为OJ】【007-取近似值】
- java用io流打包下载文件
- Java用自定义的类作为HashMap的key值
- O'Reilly 免费电子书
- Ruby - Nokogiri 解析XML的实例
- 城市列表
- 头部和正文标签
- 上下文-作用域-作用域链-闭包