Я столкнулся с проблемой ввода службы из модуля углового js в мой главный контроллер. Я получаю эту ошибку:? https://docs.angularjs.org/error/ $ инжекторов/unpr p0 = aProvider% 20% 3C-% 20a% 20% 3C-% 20solrqueryУгловой 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'); код работает отлично ... потратил несколько часов на это уже, любая помощь была бы высоко оценена.
Заранее спасибо.
EDIT:
Благодаря Энтони за ответ, после повторного работает код, модуль выглядит следующим образом:
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);
}
});
и контроллер: уага приложение = 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');
}]);
Привет Энтони, спасибо, я получил рабочий пример. Однако, можете ли вы сказать мне, как добавить сервис из другого модуля? Я могу использовать службы DI, объявленные на уровне приложения, а не из модуля. Еще раз спасибо – browskie
неважно, понял. – browskie