ReferenceError:未定义BASE_URL,Angular JS依赖项

时间:2016-01-01 23:59:54

标签: javascript angularjs service dependency-injection module

我有两个角度模块,starter.constant存储所有常量,以及控制器所在的starter.services。

angular.module('starter.services', ['ui.bootstrap', 'ngTouch', 'ngCordova', 'ngStorage', 'starter.core'])

.factory('examService', ["$http", "$ionicLoading", 'BASE_URL', function($http, $ionicLoading) {
  return {
    httpGet: function(url, data) {
      $ionicLoading.show();
      return $http.get(BASE_URL + url, data);
    },
    httpUpdate: function(url, data) {
      $ionicLoading.show();
      return $http.patch(BASE_URL + url, data);
    },
    httpPost: function(url, data) {
      $ionicLoading.show();
      return $http.post(BASE_URL + url, data);
    },
    httpDelete: function(url, data) {
      $ionicLoading.show();
      return $http.delete(BASE_URL + url, data);
    }
  };
}])

常量模块:

(function() {
  'use strict';
    angular
      .module('starter.core',[])
      .constant('BASE_URL', 'http://example');
})();

然而,当我进入浏览器时,我收到以下错误:

ReferenceError: BASE_URL is not defined

抛出此错误的行在httpGet函数

有任何建议或提前吗?

1 个答案:

答案 0 :(得分:0)

您需要将factory('examService', ["$http", "$ionicLoading", 'BASE_URL', function($http, $ionicLoading, BASE_URL) { 注入工厂函数:

FirstClassCarriage