常量在服务中未定义但在另一个服务中有效

Constant is undefined in a service but works in another

我对 angular 有一个愚蠢的问题。我为我的应用程序定义了一个常量。我将它注入到 2 个不同的服务 AuthProfile 中。在 Auth 中,它就像一个魅力。在“配置文件”中,它是未定义的。看不到我在这里缺少的东西。

auth.service.js :

(function() {
    'use strict';

    angular.module('App')
    .factory('AuthService', AuthService);

    AuthService.$inject = ['$http', '$q', '$window', 'API_URL'];

    function AuthService($http, $q, $window, API_URL) {
        //API_URL works
    }
})();

profile.service.js :

(function() {
    'use strict';

    angular.module('App')
    .factory('ProfileService', ProfileService);

    ProfileService.$inject = ['$http', '$q', 'API_URL'];

    function ProfileService($http, $q, $window, API_URL) {
        //API_URL is undefined
    }
})();

app.constants.js

(function() {
    'use strict';

    angular.module('App')
    .constant('API_URL','/api/v1/');
})();

感谢您的帮助。

您的 ProfileService 函数没有 window 注入,删除它或添加它,

ProfileService.$inject = ['$http', '$q', '$window', 'API_URL'];
//                                       ^^^^^^^^^

function ProfileService($http, $q, $window, API_URL) {

}