angular的服务装饰器 decorator
$provide.decorator('serviceName',['$delegate',function($delegate){
// $delegate 指代服务本身
}])
// 服务装饰器
app.config(['$provide', 'serviceNameProvider', function() {
$provide.decorator('serviceName', ['$delegate', function($delegate) {
// $delegate 指代服务本身
$delegate.sum = function(c + d) {
return 10 + c + d;
}
// 装饰完服务后必须要返回$delegate
return $delegate;
}])
}])
装饰器的作用: 对服务进行修改和扩展
// 服务装饰器: 对服务进行修改和扩展
app.config(['$provide', 'serviceNameProvider', function() {
$provide.decorator('serviceName', ['$delegate', function($delegate) {
// 扩展服务 添加一个方法
$delegate.minus = function (a, b) {
return a - b;
};
// 修改服务 对原有的方法重新定义
$delegate.sum = function (c, d) {
return c + d;
};
// 删除原先的属性,视觉上的删除而已
$delegate.root = undefined;
return $delegate;
}])
}])