Ich arbeite an einem Projekt, das IIFE verwendet, ein Konzept, das ich noch zu erfassen beginne. Mein Service scheint in Ordnung zu sein, ich bin etwas Jasmin, um festzustellen, dass es definiert wird, aber wenn ich versuche, es in meinen Controller zu injizieren ich diesen Fehler:Angular getting unbekannter Anbieter Fehler beim Injizieren Service in Controller
Unknown provider: StudentsServiceProvider <- StudentsService <- StudentsController
hier ist der Controller in Frage:
(function() {
'use strict';
angular
.module('ngInterview.students')
.controller('StudentsController', StudentsController);
StudentsController.$inject = ['StudentsService'];
function StudentsController(StudentsService) {
/**
* Model
*/
var vm = this;
/**
* Initialization
*/
activate();
/**
* Implementations
*/
function activate() {
// Initialization code goes here
vm.students = StudentsService.getStudents();
}
}
})();
Und hier ist der Service, falls ich irgendwie drin verkorkste:
(function() {
'use strict';
angular
.module('ngInterview.api.students')
.service('StudentsService', StudentsService);
StudentsService.$inject = ['$http'];
function StudentsService($http) {
/**
* Exposed functions
*/
this.getName = getName; // This function serves no purpose. It's just here as an example.
this.getStudents = function() {
return $http({
url: "CUSTOM_URL_HERE",
method: "GET"
}).then(function successCallback(res) {
return res;
}, function errorCallback(res) {
return this.getStudents();
});
}
/**
* Implementations
*/
function getName() {
return 'studentsService';
}
}
})();
Alle der oben aufgeführten Dateien sind in der index.html enthalten. Wenn ich die Verweise auf StudentsService herausnehme, erhalte ich keine Fehler und alle Dateien werden korrekt instanziiert.