Heim >Web-Frontend >js-Tutorial >Warum ist mein AngularJS-Controller undefiniert und wie kann ich ihn korrekt registrieren?
Fehler in AngularJS: Controller-Registrierung
Frage:
Beim Versuch, Controller global zu definieren In einer AngularJS-Anwendung wird der Fehler „Controller ist keine Funktion, wurde undefiniert“ angezeigt. tritt auf.
Antwort:
Ab AngularJS 1.3 wird die globale Controller-Deklaration nicht mehr unterstützt. Controller müssen jetzt mit der module.controller-Syntax registriert werden.
Registrierungsmethoden:
angular.module('app', []).controller('ContactController', ['$scope', function($scope) { // Controller logic }]);
function ContactController($scope) { // Controller logic } ContactController.$inject = ['$scope']; angular.module('app', []).controller('ContactController', ContactController);
Alternative: Globals zulassen
Die Verwendung globaler Controller kann durch die Einstellung von AllowGlobals im $controllerProvider wieder aktiviert werden :
angular.module('app').config(['$controllerProvider', function($controllerProvider) { $controllerProvider.allowGlobals(); }]);
Zusätzlich Überlegungen:
Das obige ist der detaillierte Inhalt vonWarum ist mein AngularJS-Controller undefiniert und wie kann ich ihn korrekt registrieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!