Maison >interface Web >js tutoriel >Pourquoi mon contrôleur AngularJS n'est-il pas défini et comment puis-je l'enregistrer correctement ?
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 :
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 : 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(); }]);
Supplémentaire Considérations :
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!