Maison > interface Web > js tutoriel > Pourquoi mon contrôleur AngularJS n'est-il pas défini et comment puis-je l'enregistrer correctement ?

Pourquoi mon contrôleur AngularJS n'est-il pas défini et comment puis-je l'enregistrer correctement ?

DDD
Libérer: 2024-12-16 06:07:15
original
735 Les gens l'ont consulté

Why is my AngularJS Controller undefined, and how can I register it correctly?

Erreur dans AngularJS : enregistrement du contrôleur

Question :

Lors de la tentative de définition globale des contrôleurs dans une application AngularJS, l'erreur "Le contrôleur n'est pas une fonction, n'est pas défini" se produit.

Réponse :

Depuis AngularJS 1.3, la déclaration globale du contrôleur n'est plus prise en charge. Les contrôleurs doivent maintenant être enregistrés à l'aide de la syntaxe module.controller.

Méthodes d'enregistrement :

  1. Utilisation de la méthode .controller() :
angular.module('app', []).controller('ContactController', ['$scope', function($scope) {
  // Controller logic
}]);
Copier après la connexion
  1. Utiliser la dépendance Injection :
function ContactController($scope) {
  // Controller logic
}
ContactController.$inject = ['$scope'];
angular.module('app', []).controller('ContactController', ContactController);
Copier après la connexion

Alternative : Autoriser les globaux

L'utilisation de contrôleurs globaux peut être réactivée en définissant allowGlobals dans $controllerProvider :

angular.module('app').config(['$controllerProvider', function($controllerProvider) {
  $controllerProvider.allowGlobals();
}]);
Copier après la connexion

Supplémentaire Considérations :

  • Assurez-vous que la directive ng-app est incluse dans l'élément racine de l'application.
  • Vérifiez que le fichier correct est inclus dans les scripts.
  • Évitez de définir le même module plusieurs fois, car cela peut remplacer les entités précédemment enregistrées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal