Angularjs Erreur non détectée:

J'apprends Angular.js et je ne peux pas comprendre ce qui ne va pas avec ce code simple. Il semble avoir l'air bien mais me donner l'erreur suivante.

**Error**: Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/$injector/modulerr?p0=app&p1=Error%3A%20…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381) 

Et avant d'ajouter ng-app= "app" (je l'étais simplement comme ng-app ), il me donnait les erreurs suivantes. Pourquoi donc?

 Error: [ng:areq] http://errors.angularjs.org/1.3.14/ng/areq?p0=Ctrl&p1=not%20a%20function%2C%20got%20undefined at Error (native) at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:6:417 at Sb (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:19:510) at tb (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:20:78) at $get (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:75:331) at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:57:65 at s (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:7:408) at A (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:56:443) at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:51:299) at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:51:316) 
 <!doctype html> <html ng-app="app"> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> </head> <body> <div ng-controller="Ctrl"> <input ng-model="name"> <h1>{{name}}</h1> <h2>{{age}}</h2> </div> <script> var Ctrl = function($scope) { $scope.age = 24; }; </script> </body> </html> 

Une fois que la déclaration de la fonction de contrôleur global AngularJS version 1.3 est désactivée

Vous devez d'abord créer un module AngularJS et ensuite joindre tous les composants à ce module spécifique.

CODE

 function Ctrl($scope) { $scope.age = 24; } angular.module('app', []) .controller('Ctrl', ['$scope', Ctrl]); 

Plus précisément pour votre cas, il y a un problème avec AngularJS 1.3.14 (downgrade à 1.3.13 fonctionne bien). Bien que je préfère que vous utilisiez angular 1.2.27 AngularJS 1.6.X, qui est la version plus stable et la dernière version d'AngularJS.

Travailler Plunkr

METTRE À JOUR:

Vous pouvez faire votre code actuel à l'état de fonctionnement en autorisant la déclaration du contrôleur global dans angular.config . Mais ce n'est pas la bonne façon d'exécuter une application angulaire.

 function Ctrl($scope) { $scope.age = 24; } angular.module('app', []) .config(['$controllerProvider', function ($controllerProvider) { $controllerProvider.allowGlobals(); } ]); 

Vous devez définir votre contrôleur

 var app = angular.module('app', []); app.controller('Ctrl', ['$scope',function($scope) { $scope.age = 24; }]); 

J'étais coincé dans ce problème depuis quelque temps. Vérifiez le suivi dans l'ordre: –

  1. Chemin d'accès vers vous Le script angular.js est correct (que vous l'appeliez dans votre html à partir d'une source locale ou comme ressource externe).

  2. Ensuite, une fois que votre angular.js est correct, vérifiez si votre application est initialisée ou non.

    var app=angular.module('app',[]) // dans votre fichier app.js

    <body ng-app="app"> // dans votre html

  3. Ensuite, enregistrez votre contrôleur avec l'application et passez toutes les injections nécessaires

    app.controller('myCtrl',function(){});

  4. Appelez votre fichier javascript dans votre fichier html

    < script src="app.js" > < /script>