FactoryApplication을 ApplicationService 팩토리에 삽입하려고합니다. 둘 다 동일한 모듈에 정의되어 있습니다.AngularJS 동일한 모듈의 다른 팩토리에 공장을 삽입하십시오.
어플리케이션 팩토리 (application.model.js)
(function(Object, coreModule) {
'use strict';
// the factory to expose that allows the creation of application instances
var ApplicationFactory = function() {
console.log("Application factory!");
return {foo: 'bar'};
}
coreModule.factory('Application', [ApplicationFactory]);
})(Object, angular.module('core'));
ApplicationService 공장 (application.service.js)
(function(coreModule) {
'use strict';
var ApplicationService = function(Application) {
var api = {
shout = function() {console.log(Application);}
};
return api;
}
ApplicationService.$inject = ['Application'];
coreModule.factory('ApplicationService', [ApplicationService]);
})(angular.module('core'));
그때는 컨트롤러에 ApplicationService 공장 주입 방법을 호출있어 외침. 콘솔의 로그에서 응용 프로그램이 항상 정의되지 않은 경우 정의되지 않습니다. 컨트롤러에서 작동하는 경우 응용 프로그램이 작동합니다. 그래서 저는 두 공장이 독립적으로 작업하고 있다는 것을 알고 있습니다. 두 파일을 모두 내 index.html에서 가져오고 있습니다.
문제를 찾는 데 몇 시간을 보냈지 만 찾을 수 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
오 신 나는 아무 생각이 없다 왜 내가 이것을했는지 : coreModule.factory ('ApplicationService', [ApplicationServi ce])! 그것이 일의 긴 날이었던 것을 맞힌 다 : p 많은 감사. 웬일인지 내 두뇌는 선언문을 의존성 삽입 주석과 혼합했다 : S –