javascript - ReferenceError : BASE_URL is not defined, Angular JS 依赖项

标签 javascript angularjs service dependency-injection module

我有两个 Angular 模块,starter.constant 用于存储所有常量,starter.services 用于存储 Controller 。

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 函数中

有什么建议或进展吗?

最佳答案

您需要将BASE_URL注入(inject)到您的工厂函数中:

factory('examService', ["$http", "$ionicLoading", 'BASE_URL', function($http, $ionicLoading, BASE_URL) {

关于javascript - ReferenceError : BASE_URL is not defined, Angular JS 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34561313/

相关文章:

javascript - UIWebView loadHTMLString 有时不加载或应用CSS和JS

Symfony3 服务和 token 存储

c# - 监控本地计算机上打开的 .exe 程序的最佳方法

javascript - HTML5 视频标签中的提示点

javascript - Promise.defer 标准?

javascript - 当我尝试为我的待办事项列表应用程序创建 LI 元素时,我的浏览器屏幕上没有显示任何内容

javascript - Angular Material $mdPanel 没有 close() 方法

javascript - 无法使用 JavaScript 和 Angular 删除空对象属性

angularjs - 路由提供者无法访问 Controller 定义

java - 何时使用 Service 或 AsyncTask 或 Handler?