如何覆盖或添加现有AngularJS服务的某些功能?

时间:2016-01-06 08:53:44

标签: angularjs

我想覆盖或添加更多功能到现有服务,如$ http,$ log等 怎么做?

1 个答案:

答案 0 :(得分:1)

您需要使用$ provide.decorator方法来扩展任何角度服务,即angular docs的装饰器定义:

  

服务装饰器拦截服务的创建,允许它覆盖或修改服务的行为。装饰器返回的对象可以是原始服务,也可以是替换或包装并委托给原始服务的新服务对象。

Freek Wielstra遇到了这个link,这可能会帮助你更进一步。

修改 请通过@tomakisquare查看此SO answer,他提供了一个精彩的plunkr示例来扩展第三方服务(或任何服务)而无需干涉原始代码。