Maison >interface Web >js tutoriel >Comment corriger les erreurs « L'argument 'ContactController' n'est pas une fonction » dans Angular 1.3 ?

Comment corriger les erreurs « L'argument 'ContactController' n'est pas une fonction » dans Angular 1.3 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-01 21:56:14442parcourir

How to Fix

Problème : Erreur de déclaration du contrôleur global

Angular 1.3 a déconseillé l'utilisation de déclarations de contrôleur globales sur la portée globale. Ce problème se manifeste par une erreur indiquant "L'argument 'ContactController' n'est pas une fonction, n'est pas défini", empêchant les contrôleurs d'être définis globalement sans enregistrement explicite.

Solution : enregistrer les contrôleurs avec la syntaxe du module

Pour résoudre ce problème, les contrôleurs doivent être enregistrés à l'aide de la syntaxe module.controller. Par exemple :

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

Alternativement, vous pouvez injecter le contrôleur en tant que fonction :

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

Activer les globales

Si vous préférez utiliser des déclarations globales, vous Vous pouvez les activer en définissant AllowGlobals dans $controllerProvider.

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

Supplémentaire Notes

  • Assurez-vous que le nom de votre application est inclus dans la directive ng-app sur l'élément racine (par exemple, ng-app="myApp").
  • Vérifiez que les scripts corrects sont inclus.
  • Évitez de définir le même module deux fois à des emplacements différents, car cela pourrait écraser 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!

Déclaration:
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