【发布时间】:2015-04-15 15:28:50
【问题描述】:
我正在尝试用另一种方法装饰服务。问题是该方法使用$http,我无法将其注入angular.config 块,因为它尚未初始化。
我想我可以通过使用 $injector 来解决这个问题,因为这只会在我添加的方法被调用时运行,但这会导致错误:
Error: [$injector:unpr] Unknown provider: $http
这是我正在尝试做的一个示例:
angular.module('someModule', [])
.config(($provide, $injector)->
$provide.decorator('someService', ($delegate)->
$delegate.newMethod = ()->
$http = $injector.get('$http')
$http.get('someURL')
return $delegate
)
)
稍后,只有当我调用someService.newMethod() 时,我才会收到上述错误。
有什么办法可以做我想做的事吗?
【问题讨论】:
-
你不应该也将
$injector注入装饰器吗? -
我可能应该将
$injector注入移到那里,但我认为它不会产生影响,因为它仍然可以通过闭包获得。 -
我认为这将为您解决问题,不知道为什么,但关闭似乎不起作用。
-
你是对的!谢谢!如果您想发布包含该信息的答案,我会接受。
-
很好用!
标签: angularjs angular-decorator