각도 js 모듈의 서비스를 주 컨트롤러로 주입하는 데 문제가 있습니다. ? 나는이 오류가 무엇입니까 : https://docs.angularjs.org/error/ $ 인젝터/unpr P0 = aProvider % 20 % 3C- % 20A의 % 20 % 3C- %의 20solrquery을Angular JS Service 다른 모듈의 DI
내 코드는 다음과 같습니다 :
는var app = angular.module('app1',[
'solr'
]);
app.controller('app1cont', ['$scope', 'solrquery', function($scope,solrquery){
console.log("Start");
$scope.value = 1;
solrquery('aaa');
}]);
SOLR 모듈처럼 보인다 이 :
var solr1 = angular.module('solr', []);
solr1.run(function(){
console.log("Module Loaded");
});
solr1.service('solrquery',function(a) {
console.log('searching for: ' + a);
}
);
실행할 때로드 된 모듈이 콘솔에 표시되고 오류가 발생합니다. app.controller와 solrquery ('aaa')에서 주입을 제거하면; 코드가 잘 돌아갑니다 ... 이미 몇 시간을 보냈으니 어떤 도움을 주시면 감사하겠습니다.
미리 감사드립니다.
편집 : 코드를 다시 작업 후 답변 안토니
덕분에, 모듈은 다음과 같습니다
var solr1 = angular.module('solr', []);
solr1.run(function(){
console.log("Module Loaded");
});
//as a factory
solr1.factory('solrquery',function() {
return function(a) {
console.log('searching for: ' + a);
}
}
);
//as a service
solr1.service('solrser', function() {
this.test = function(a) {
console.log(a);
}
});
그리고 컨트롤러 : var에 응용 = angular.module를 (' app1 ', [ 'solr ' ]);
app.controller('app1cont', ['$scope', 'solrquery', 'solrser', function($scope,solrquery,solrser){
console.log("Start");
$scope.value = 1;
solrquery('a');
solrser.test('a');
}]);
안녕하세요. Anthony, 감사합니다. 저는 공장 예를 사용하고 있습니다. 그러나 다른 모듈의 서비스를 추가하는 방법을 알려주시겠습니까? 모듈에서가 아니라 앱 수준에서 선언 된 DI 서비스를 사용할 수 있습니다. 다시 한 번 감사드립니다 – browskie
절대 신경 쓰지 마세요. – browskie