【发布时间】:2016-04-10 07:10:21
【问题描述】:
我想覆盖或添加更多功能到现有服务,如 $http、$log 等 该怎么做?
【问题讨论】:
-
源代码在这里github.com/angular/angular.js/tree/master/src fork 并添加您的代码。
标签: angularjs
我想覆盖或添加更多功能到现有服务,如 $http、$log 等 该怎么做?
【问题讨论】:
标签: angularjs
您需要使用 $provide.decorator 方法来扩展任何角度服务,根据angular docs 定义装饰器:
服务装饰器拦截服务的创建,允许它覆盖或修改服务的行为。装饰器返回的对象可能是原始服务,也可能是替换或包装并委托给原始服务的新服务对象。
偶然发现了 Freek Wielstra 的 link,这可能会帮助您更进一步。
编辑: 请查看@tomakisquare 的这个 SO answer,他提供了一个出色的 plunkr 示例来扩展第三方服务(或与此相关的任何服务),而无需干预原始代码。
【讨论】: