Heim > Web-Frontend > js-Tutorial > Warum erhalte ich in AngularJS die Meldung „Controller ist keine Funktion, wurde undefiniert'?

Warum erhalte ich in AngularJS die Meldung „Controller ist keine Funktion, wurde undefiniert'?

Susan Sarandon
Freigeben: 2024-12-04 03:24:11
Original
496 Leute haben es durchsucht

Why Am I Getting

Globale Controller-Deklaration nicht zulässig

In modernen Versionen von AngularJS (1.3) wird die globale Definition von Controllern im globalen Bereich nicht mehr unterstützt. Die Fehlermeldung „Controller ist keine Funktion, wurde nicht definiert“ weist auf dieses Problem hin.

Um Controller korrekt zu registrieren, verwenden Sie die bevorzugte module.controller-Syntax. Hier sind Beispiele:

angular.module('app', [])
    .controller('ContactController', ['$scope', function ContactController($scope) {
        // Controller logic
    }]);
Nach dem Login kopieren

Oder mit Abhängigkeitsinjektion:

function ContactController($scope) {
    // Controller logic
}
ContactController.$inject = ['$scope'];
angular.module('app', []).controller('ContactController', ContactController);
Nach dem Login kopieren

Globale Controller zulassen

Als Breaking Change, globaler Controller Deklaration wurde deaktiviert. Dies kann jedoch mithilfe von „allowGlobals“ wieder aktiviert werden.

angular.module('app')
    .config(['$controllerProvider', function($controllerProvider) {
        $controllerProvider.allowGlobals();
    }]);
Nach dem Login kopieren

Zusätzliche Überlegungen

  • Stellen Sie sicher, dass das richtige Winkelstammelement die ng-app-Direktive enthält .
  • Stellen Sie sicher, dass die richtigen Skriptdateien enthalten sind.
  • Vermeiden Sie die mehrfache Definition desselben Moduls Zeiten, die zuvor registrierte Einheiten löschen können.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in AngularJS die Meldung „Controller ist keine Funktion, wurde undefiniert'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage