Angularjs 未知提供程序:$httpProvider
我对Angular中的依赖项注入有问题。我已经做了一个简单的例子来说明我得到的错误Angularjs 未知提供程序:$httpProvider,angularjs,Angularjs,我对Angular中的依赖项注入有问题。我已经做了一个简单的例子来说明我得到的错误 function MyService($http) { this.doIt = function () { console.log("done"); } } var myModule = angular.module("myModule", []); myModule.service("myService", ['$http', MyService]); var prx = a
function MyService($http) {
this.doIt = function () {
console.log("done");
}
}
var myModule = angular.module("myModule", []);
myModule.service("myService", ['$http', MyService]);
var prx = angular.injector(['myModule']).get('myService');
prx.doIt();
我得到的错误是未知提供程序:$httpProvider定义模块的行,您需要告知此模块需要$http。所以这一行应该换成下面这一行
var myModule = angular.module("myModule", []);
var myModule = angular.module("myModule", ['$http']);
在定义模块的行中,您需要告知此模块需要$http。所以这一行应该换成下面这一行
var myModule = angular.module("myModule", []);
var myModule = angular.module("myModule", ['$http']);
您可以使用monkey补丁将myModule的服务与ng模块一起使用
以下是您可以通过monkey补丁将myModule的服务与ng module一起使用
这里是Ok,使用RTFM技术解决了这个问题 这里的州 必须显式添加ng模块 所以我需要这样做
var prx = angular.injector(['ng','myModule']).get('myService');
让它工作。我已经更新了小提琴
谢谢你的帮助 Ok使用RTFM技术解决了这个问题 这里的州 必须显式添加ng模块 所以我需要这样做
var prx = angular.injector(['ng','myModule']).get('myService');
让它工作。我已经更新了小提琴
谢谢你的帮助 尝试此操作后,我现在无法实例化模块myModule,原因是:未能实例化模块$http,原因是:模块“$http”不可用!您要么拼错了模块名,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。我创建了此代码示例,请查看它。为什么要在控制器外部调用服务?是的,我也可以让它在控制器中工作。我需要它在控制器外工作,所以我需要使用angular.injector afaik。正如我在原始帖子中所说,我有一个由第三方以Angular编写的新库,我需要在一个不使用Angular编写的旧应用程序中使用。尝试此操作后,我现在无法实例化模块myModule,原因是:未能实例化模块$http,原因是:模块“$http”不可用!您要么拼错了模块名,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。我创建了此代码示例,请查看它。为什么要在控制器外部调用服务?是的,我也可以让它在控制器中工作。我需要它在控制器外工作,所以我需要使用angular.injector afaik。正如我在原始帖子中所说,我有一个由第三方以Angular编写的新库,我需要在一个不使用Angular编写的旧应用程序中使用。你在哪里引导Angular模块?你在哪里引导Angular模块?