我试图全局装饰/覆盖通过工厂定义的第三方服务。我可以在我自己的模块中很好地装饰服务,它在我的模块中使用我的实现,但我也需要改变它在第三方模块中的行为(所以所有调用都使用我的实现)。
我尝试在第三方模块的配置方法中移动装饰(在我的模块定义之前),但这没有效果。
angular.module("3rd-party").config(["$provide", function ($provide) {
$provide.decorator("3rd-party-service", ["$delegate", function ($delegate) {
$delegate.methodToOverwrite = function () {
console.log("...");
};
return $delegate;
}]);
}]);
感谢您的任何建议!