如何在全球范围内提供AngularJS内置服务?
代码如何在全球范围内提供AngularJS内置服务?,angularjs,Angularjs,代码 angular.module('appName').factory('serviceName', ['$http', function ($http) { 在这里,我将Angular的$http服务提供给我的服务,但我如何使它可用于我应用程序中的所有服务,而不必每次在应用程序中的每个服务中定义它(假设我应用程序中的每个服务都需要访问$http)? 请提供代码样本。非常感谢 在这个问题上似乎没有什么帮助 angular.module('appName').factory('globaliz
angular.module('appName').factory('serviceName', ['$http', function ($http) {
在这里,我将Angular的$http服务提供给我的服务,但我如何使它可用于我应用程序中的所有服务,而不必每次在应用程序中的每个服务中定义它(假设我应用程序中的每个服务都需要访问$http)?
请提供代码样本。非常感谢
在这个问题上似乎没有什么帮助
angular.module('appName').factory('globalize', ['$http', function ($http) {
window.$http = $http;
}]);
e、 g
好了,它现在是全球性的。但这不是最好的做法…但依赖注入就是这样工作的你不定义它,而是注入它。它在angular的最新版本中不起作用(如果你从未在某个地方注入
globalize
),全局定义某个东西与依赖注入的想法相反。是的,你必须在某个地方注入它,不管你用哪个角度。对于较新的版本,您可以使用resolves来注入它。正如我所说,这不是一个好的实践,但这就是我们解决问题的方法。如果您决定使用window来存储它,那么这就是不创建服务的方法:window.$http=angular.element(document.querySelector(“[ng app]”)injector().get(“$http”)