繁体   English   中英

错误:将Angular $ http服务注入require插件

[英]Error: inject Angular $http service into requires plugin

我想在我的自定义requireJS插件中使用AngularJS $ http服务。 以下是我的代码。

我可以在插件“ foo”中看到角度模块,但是我不知道如何从角度模块获取$ 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(...)
    }
  };

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM