Ich habe in Angular für ein wenig Zeit jetzt codiert und ich habe bisher Module, Controller und Services erstellt, aber ich bin kürzlich auf ein Stück Code gestoßen, das ich einfach nicht verstehen kann. Es ist jemand anderes Code und ich denke, Autor hat versucht, einen Service zu definieren, aber nicht wie ich es erstellt habe. Normalerweise, wenn ich einen Dienst schaffen es sieht aus wie folgt:Syntax in Angular verstehen
app.factory('portabilityService', [
'$resource', '$state', '$rootScope', function ($resource, $state, $rootScope) {
return { //definition };
}
]);
- Für mich ist es einfach Servicenamen als erstes Argument innerhalb der Fabrik von allen Abhängigkeiten gefolgt angeben und los geht.
Nun, ich über einen anderen Code kam, die wie folgt aussieht:
(function() {
/*
* Manages which samples have been selected
*/
'use strict';
angular.module('maintenance.portability.module')
.factory('selectedSamplesSvc', service);
service.$inject = [];
function service()
{
//other function definitions
};
})();
Nun, das viele Fragen aufwirft:
- Zunächst einmal, das ist wirklich ein Dienst ?
- Wenn ja, was ist Service? $ Inject = []?
- Wo sollte ich die Abhängigkeiten hinzufügen?
- Was ist der Zweck des Konstruktor Service() hier?
- Ist es nur eine andere Möglichkeit, einen Dienst zu erstellen, oder gibt es einen bestimmten Grund, warum wir einen Dienst auf diese Weise definieren sollten?
Sie haben hier ein paar zu viele Fragen. Es ist nicht schlecht, nach den Teilen zu fragen, über die Sie verwirrt sind, aber so, wie Sie die Frage gestellt haben, werden Sie wahrscheinlich eher Kommentare als Antworten erhalten, und die Antworten, die Sie erhalten, betreffen möglicherweise nur * Teile * Ihre Anliegen. Dies könnte etwas sein, mit dem [chat] besser wäre. – Claies
das gesagt wird, werde ich immer noch versuchen, die Frage zu beantworten. – Claies
Alle Ihre Fragen sind hier beantwortet ~ https://docs.angularjs.org/guide/di#dependency-annotation – Phil