Angularjs-Fehler: [$injector:modulerr] während der Migration auf V1.3
In Angularjs tritt der Fehler [$injector:modulerr] auf weist auf ein Modulabhängigkeitsproblem hin, insbesondere bei der Migration von früheren Versionen auf V1.3.
Angularjs-Code vor V1.3:
<code class="html"><body>
<div ng-controller="Ctrl">
...
<script>
var Ctrl = function($scope) {
...
};
</script>
</div>
</body></code>
Nach dem Login kopieren
Beitrag -V1.3 AngularJS-Code:
<code class="html"><body ng-app="app">
<div ng-controller="Ctrl">
...
</div>
<script>
function Ctrl($scope) {
...
}
angular.module('app', [])
.controller('Ctrl', ['$scope', Ctrl]);
</script>
</body></code>
Nach dem Login kopieren
Änderungen mit V1.3:
-
Globale Controller-Deklaration deaktiviert: Ab Angularjs V1.3 können globale Controller-Funktionen nicht mehr außerhalb eines Moduls deklariert werden. Stattdessen müssen Controller innerhalb eines Moduls registriert werden.
-
ng-app-Direktive erforderlich: Die ng-app-Direktive muss im Stammelement vorhanden sein, um die Angularjs-Anwendung zu booten.
Lösung:
-
Erstellen Sie ein Angularjs-Modul: Verwenden Sie angle.module(), um ein Modul mit dem Namen „app“ zu definieren.
-
Registrieren Sie den Controller im Modul: Rufen Sie .controller() im Modul auf, um einen Controller mit dem Namen „Strg“ mit den entsprechenden Abhängigkeiten und der Controller-Funktion zu definieren.
-
Fügen Sie ng-app zum Root-Element hinzu: Stellen Sie sicher, dass das Root-HTML-Element das ng-app-Attribut hat.
Zusätzliche Hinweise:
- Aus Stabilitäts- und Sicherheitsgründen wird empfohlen, die neueste Version von Angularjs (1.6 oder höher) zu verwenden.
- Wenn Sie globale Controller-Deklarationen unterstützen müssen, können Sie angle.config().allowGlobalScoping() verwenden. Dies ist jedoch nicht die beste Vorgehensweise.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich während meiner AngularJS-Migration auf Version 1.3 den Fehler „$injector:modulerr'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!