Я новичок в AngularJs, и я не могу полностью понять проблему ниже.AngularJS - Ошибка в инжекции из другого модуля
В приведенном ниже примере имеются 2 услуги MongoRESTService
& MongoRESTService2
, определенные в модуле common-services
.
Главный модуль olive
зависит от common-services
, а главный контроллер пытается вызвать функции в этих двух выше перечисленных службах.
Хотя я смог вызвать функцию MongoRESTService.get()
успешно, MongoRESTService.queryMongoData()
находится под ошибкой.
Сообщение об ошибке
angular.js:10126 Error: [$injector:unpr] http://errors.angularjs.org/1.2.28/$injector/unpr?p0=MongoRESTService2Provider%20%3C-%20MongoRESTService2
Unknown provider: MongoRESTService2Provider <- MongoRESTService2
Код
// services.js
var oliveModule = angular.module('common-services')
oliveModule.service('MongoRESTService', function($http, $q, $scope) {
this.get = function(path){
...
};
});
oliveModule.service('MongoRESTService2', function($scope, MongoRESTService) {
this.queryMongoData = function(){
MongoRESTService.get('/clients').then(function(data){
$scope.clients = ...;
});
};
});
// main.js
var oliveModule = angular.module('olive', ['common-services']);
oliveModule .controller('MainController',
function($scope, $http, MongoRESTService, MongoRESTService2) {
//this line works
MongoRESTService.get('/clients').then(function(data){
...
})
//this throws error
MongoRESTService2.queryMongoData();
}
);
если вам нужны разъяснения, это известно как «обозначение массива» инъекции зависимостей .. https://docs.angularjs.org/гид/ди – yUdoDis