angular 服务(factory service constant value provider)学习笔记
来源:互联网 发布:日语网络课程哪家好 编辑:程序博客网 时间:2024/06/05 13:39
依赖注入(DI):必须具备三个要素
1、服务注册
2、依赖关系声明
3、对象的获取
在angular中,module 和$provide 相当于是服务的注册。injector用来获取对象。
如何创建获取模块
主要是通过 参数的个数来确定的和区分的
angular.module(模块名, [模块依赖的其他模块列表], [对模块的配置]);
## angular提供了3种获取依赖的方式:inference、annotation、inline方式 ##
$injector 其实是一个IOC容器 包含了很多服务
每个模块只有一个
由于每个模块的injector是唯一的,所以 angular.element().injector()直接返回元素所在模块的injector 。
五种方法创建服务:
factory service constant value provider
- factory 是用来注册服务的最常见方式,
- factory(name,getFn) 服务名 函数
service 可以注册一个支持构造函数的服务
- service(name,constructor) 名称 构造函数
provider 所有服务工厂都是有provider创建的
- provider负责在$providerCache中注册服务
- 有一个问题是 是否可以一直使用factory 替代privater,答案取决于是否需要用AngularJS的.config()函数来对.provider()方法返回的服务进行额外的扩展配置。同其他创建服务的方法不同,config()方法可以被注入特殊的参数
- 使用.provider()方法,可以在多个应用使用同一个服务时获得更强的扩展性,特别是在不同应用或开源社区之间共享服务时。
- 如果希望在config()函数中可以对服务进行配置,必须用provider()来定义服务
- provider(name,aProvider) aProvider可以是数组、函数、对象
constant(name,value) 可以将一个已经存在的变量值注册为服务,并将其注入到应用的其他部分中。
- constrant(name,value) name常量名字 value常量值
- value(name,value) 如果服务$get方法返回的一一个常量,就没有必要定义一个包含复杂功能的完整服务,可以通过value()函数方便注册。
- name服务名 常量值
何时使用 value 和 constant
value 和 constant之间的区别在于 常量可以注入到配置函数中 而值不行。
通常情况下,可以通过value()来注册服务对象或函数,用constant()来配置数据
注:
最后提一下 decorator 装饰器 它的功能主要是运用在我们自己的服务上,也可以对angular的核心服务进行拦截、中断甚至替换操作。
调用形式为 decorator(name, decorator);
1 0
- angular 服务(factory service constant value provider)学习笔记
- AngularJS的自定义服务,factory、provider、service、constant、value等方法的区别
- Angularjs1.x 中的 service,factory,provider,constant,value
- Angular Provider Factory Service
- angular $provide factory constant value
- [AngularJS系列(4)] 那伤不起的provider们啊~ (Provider, Value, Constant, Service, Factory, Decorator)
- [AngularJS系列(4)] 那伤不起的provider们啊~ (Provider, Value, Constant, Service, Factory, Decorator)
- angular的常用的三种服务 service,factory,provider
- AngularJS的Provider, Value, Constant, Service, Factory, Decorator的区别与详解
- AngularJS的Provider, Value, Constant, Service, Factory, Decorator的区别与详解
- AngularJS的Provider, Value, Constant, Service, Factory, Decorator的区别与详解
- AngularJS服务(Factory/Provider/Service)
- AngularJS学习笔记--服务的创建方法factory() service() provider()等
- angular中的factory、service和provider
- angular:service、factory、provider使用和区别
- angular:全局变量设置、value、constant、rootscope、服务
- Angular中创建服务的三种方式factory、service、provider
- angular--自定义服务--在多个控制器中传递参数factory+service+provider
- 这是网友发的一道很常见的面试题, for(foo('A');foo('B')&&(i<2);foo('C')) ,其实考的就是for (初始化语句; 判断条件; 循环条件) ,现在详细解析一下!
- Android输入法的显示或隐藏
- EditText与onItemClick事件冲突
- 数据结构与算法复习
- centos 6.4 python升级到2.7.11
- angular 服务(factory service constant value provider)学习笔记
- LINK1123:failure during conversion to COFF:file invalid or corrupt
- 【转】Android最佳性能实践(二)——分析内存的使用情况
- 摄影测量--共线方程
- jquery.cookie.js 的使用指南
- 仿微信朋友圈,仿微信小视频 ,录制视频功能
- Java基础12 类型转换与多态
- Android Drawable 那些不为人知的高效用法
- 可以访问tomcat主页,不能访问项目(tomcat的写入权限不够)