Heim >Web-Frontend >js-Tutorial >Wie behebt man den Fehler „Argument ‚ContactController' ist keine Funktion' in Angular 1.3?

Wie behebt man den Fehler „Argument ‚ContactController' ist keine Funktion' in Angular 1.3?

Linda Hamilton
Linda HamiltonOriginal
2024-12-01 21:56:14439Durchsuche

How to Fix

Problem: Fehler bei der globalen Controller-Deklaration

Angular 1.3 hat die Verwendung globaler Controller-Deklarationen im globalen Bereich abgelehnt. Dieses Problem äußert sich in einem Fehler mit der Meldung „Argument ‚ContactController‘ ist keine Funktion, wurde undefiniert“, wodurch verhindert wird, dass Controller global ohne explizite Registrierung definiert werden.

Lösung: Controller mit Modulsyntax registrieren

Um dies zu beheben, sollten Controller mithilfe der module.controller-Syntax registriert werden. Zum Beispiel:

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

Alternativ können Sie den Controller als Funktion einfügen:

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

Globals aktivieren

Wenn Sie lieber globale Deklarationen verwenden möchten, können Sie Folgendes tun Sie können sie aktivieren, indem Sie „allowGlobals“ im $controllerProvider festlegen.

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

Zusätzlich Hinweise

  • Stellen Sie sicher, dass Ihr App-Name in der ng-app-Direktive im Stammelement enthalten ist (z. B. ng-app="myApp").
  • Stellen Sie sicher, dass die richtigen Skripte vorhanden sind sind enthalten.
  • Vermeiden Sie es, dasselbe Modul zweimal an verschiedenen Orten zu definieren, da dies zuvor registrierte Entitäten überschreiben kann.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Argument ‚ContactController' ist keine Funktion' in Angular 1.3?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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