我想在我的自定义 requireJS 插件中使用 AngularJS $http 服务。以下是我的代码。
我可以在我的插件“foo”中看到 Angular 模块,但我不知道如何从 Angular 模块获取 $http 服务。
有人可以给我一些指导吗?提前谢谢。
main.js
require.config({
waitSeconds : 20, //make sure it is enough to load all scripts
paths: {
cordova: '../lib/js/ng-cordova',
angular: '../lib/js/angular/angular', // <---- here is angular
angularAnimate: '../lib/js/angular/angular-animate',
angularTouch: '../lib/js/angular/angular-touch',
angularSanitize: '../lib/js/angular/angular-sanitize',
uiRouter: '../lib/js/angular-ui/angular-ui-router',
ionic: '../lib/js/ionic.bundle',
ionicServiceCore: '../lib/js/ionic-core',
angularIonic: '../lib/js/ionic-angular'
}
}
foo.js
define(['angular'],function(angular){
return {
load: function(name,req,onLoad,config){
console.log(angular);
//
// I want to use $http here
// but how to retrieve $http from angular module???
//
} // load
};
});
最佳答案
您应该能够使用以下代码获取 $http
服务:
define(['angular'], function(angular) {
return {
load: function(name, req, onLoad, config) {
var $http = angular.injector(['ng']).get('$http');
// $http.get(...).then(...)
}
};
});
关于javascript - 错误: inject Angular $http service into requires plugin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34097271/