Heim >Web-Frontend >js-Tutorial >Warum erhalte ich in AngularJS die Meldung „Controller ist keine Funktion, wurde undefiniert'?
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 }]);
Oder mit Abhängigkeitsinjektion:
function ContactController($scope) { // Controller logic } ContactController.$inject = ['$scope']; angular.module('app', []).controller('ContactController', ContactController);
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(); }]);
Zusätzliche Überlegungen
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!