永发信息网

在angular中,provider,怎么使用

答案:1  悬赏:80  手机版
解决时间 2021-04-05 14:50
  • 提问者网友:火车头
  • 2021-04-04 20:04
在angular中,provider,怎么使用
最佳答案
  • 五星知识达人网友:拾荒鲤
  • 2021-04-04 21:34
我们要从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;
});
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯