常量在服务中未定义但在另一个服务中有效
Constant is undefined in a service but works in another
我对 angular 有一个愚蠢的问题。我为我的应用程序定义了一个常量。我将它注入到 2 个不同的服务 Auth
和 Profile
中。在 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) {
}
我对 angular 有一个愚蠢的问题。我为我的应用程序定义了一个常量。我将它注入到 2 个不同的服务 Auth
和 Profile
中。在 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) {
}