首页 > 代码库 > AngularJS中的Provider
AngularJS中的Provider
我们要从Dependency Injection(依赖注入)的对象中获取的数据或者功能,都是Injector给的。
Injector会创建两种对象:服务 或 专用对象
Injector要知道如何创建这些对象,就要用户自行去“注册”。
有五种注册方法:
Provider, Value, Factory, Service 和 Constant
构建Service
最强大的是Providor,其他方法只不过是Provider在某些条件下的简化版。
构建specialized objects
specialized objects包括:
controllers, directives, filters 和 animations
一般用各自的API去创建,比如:
module.controller(‘AppleController‘, function () { // some code });
另外Provider也能够构建Filter(使得这个filter变得可配置):
// 用Provider构造filter angular.module(‘Tommy‘, []).provider(‘matchMediaFilter‘, function () { var service = { // 这里是可配置的数据 queries: { xs: ‘screen and (max-width: 480px)‘, sm: ‘screen and (min-width: 481px) and (max-width: 768px)‘, md: ‘screen and (min-width: 769px) and (max-width: 992px)‘, lg: ‘screen and (min-width: 993px) and (max-width: 1200px)‘, xl: ‘screen and (min-width: 1201px)‘ }, // 这个$get function是AngularJS规定必须的 $get: function ( $window ) { return function (unchanged, query, newVal) { var mq = service.queries[query]; return ($window.matchMedia && $window.matchMedia(mq).matches) ? newVal : unchanged; }; } }; return service; });
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。