AngularJS Hello World : Votre premier programme d’exemple
⚡ Résumé intelligent
Les programmes AngularJS Hello World n'ont besoin que d'un seul fichier HTML, d'une référence de script et de deux directives, ng-app et ng-controller, pour lier une variable de portée de contrôleur à la page via une expression à double accolade.

La meilleure façon de constater la puissance d'une application AngularJS est de créer votre premier programme de base, une application « Hello World », en AngularJS.
Il existe de nombreux environnements de développement intégrés que vous pouvez utiliser pour AngularJS En matière de développement, certains des plus populaires sont mentionnés ci-dessous. Dans notre exemple, nous utilisons Webstorm comme notre IDE.
- Webstorm
- Sublime Text
- AngularJS Eclipse
- Visual Studio
Bonjour tout le monde, AngularJS
Note de version : AngularJS 1.x n'est plus pris en charge à long terme depuis le 31 décembre 2021, et l'équipe du framework confirme que Le support d'AngularJS a officiellement pris fin. En janvier 2022, la version 1.8.3 a été publiée comme version finale, sans correctifs de sécurité ultérieurs. Chaque étape et chaque bloc de code ci-dessous sont conservés tels quels. Les nouveaux projets doivent être développés avec Angular moderne, où le même exercice commence par… ng serve et un composant autonome et utilise toujours le même {{ }} Syntaxe d'interpolation.
L'exemple ci-dessous montre le moyen le plus simple de créer votre première application « Hello world » dans AngularJS.
La capture d'écran annotée ci-dessous indique chaque partie de ce fichier, et ses sept numéros correspondent à Code Liste explicative ci-dessous. Ce script a été enregistré avec une version antérieure (1.4.0), sa ligne de script diffère donc de la version indiquée dans le code.
<!DOCTYPE html> <html ng-app="app"> <head> <meta charset="utf 8"> <title>Guru99</title> </head> <body> <h1 ng-controller="HelloWorldCtrl">{{message}}</h1> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script> angular.module("app", []).controller("HelloWorldCtrl", function($scope) { $scope.message="Hello World" } ) </script> </body> </html>
Code Explication:
- L'événement ng-appLe mot-clé « » indique que cette application doit être considérée comme une application AngularJS. Elle peut porter n'importe quel nom.
- Le contrôleur contient la logique métier. Dans la balise h1, nous souhaitons accéder au contrôleur, qui aura la logique d'afficher « Hello World », nous pouvons donc dire que dans cette balise, nous voulons accéder au contrôleur nommé « HelloWorldCtrl ».
- Nous utilisons une variable membre appelée « message » qui n'est rien d'autre qu'un espace réservé pour afficher le message « Hello World ».
- La balise « script » sert à référencer le script angular.js qui contient toutes les fonctionnalités nécessaires à AngularJS. Sans cette référence, les fonctions AngularJS ne fonctionneront pas.
- Le « contrôleur » est l'endroit où nous créons concrètement notre logique métier. Les spécificités de chaque mot-clé seront expliquées dans les chapitres suivants. Il est important de noter que nous définissons une méthode de contrôleur appelée « HelloWorldCtrl », qui sera référencée à l'étape 2.
- Nous créons une fonction qui sera appelée lorsque notre code fera appel à ce contrôleur. L'objet `$scope` est un objet spécial d'AngularJS ; il s'agit d'un objet global utilisé par AngularJS. L'objet `$scope` sert à gérer les données entre le contrôleur et la vue.
- Nous créons une variable membre appelée « message », nous lui attribuons la valeur « Hello World » et nous attachons la variable membre à l'objet scope.
REMARQUE: La directive ng-controller est un mot-clé défini dans AngularJS (Étape 2) et sert à définir les contrôleurs de votre application. Dans notre application, nous avons utilisé le mot-clé `ng-controller` pour définir un contrôleur nommé « HelloWorldCtrl ». La logique proprement dite de ce contrôleur sera créée à l'étape 5.
Si le code est exécuté avec succès, la sortie suivante s'affichera lorsque vous exécutez votre code dans le navigateur.
Sortie :
Le message « Hello World » s'affichera.
Comment charger AngularJS : CDN ou fichier local
L'exemple ci-dessus fonctionne car une seule ligne charge le framework dans la page avant que le navigateur n'atteigne la fin du corps. AngularJS est fourni sous forme d'un seul fichier. JavaUn simple fichier script suffit ; ainsi, un premier programme ne nécessite ni compilation ni gestionnaire de paquets. Un fichier HTML ouvert dans un navigateur suffit.
Il existe deux façons d'importer ce fichier.
- Référencez une copie CDN. L'exemple pointe vers
code.angularjs.orget la version 1.6.9 des broches. Cet hôte sert toujours des versions 1.x, la plus récente étant la 1.8.2, tandis que Google La liste des bibliothèques hébergées ne répertorie plus AngularJS. - Téléchargez une copie locale. Enregistrez le fichier à côté de la page HTML et faites pointer la balise script vers celui-ci. Une copie locale permet à l'exemple de fonctionner hors ligne, ce qui est important lorsqu'un proxy bloque le CDN.
<!-- Option 1: reference a CDN copy --> <script src="https://code.angularjs.org/1.8.2/angular.min.js"></script> <!-- Option 2: reference a downloaded copy in the same folder --> <script src="angular.min.js"></script>
Utilisez le angular.js tout en apprenant et angular.min.js En production : la version non minifiée affiche une pile lisible traces, alors que la version minifiée indique des variables renommées.
Une fois le fichier chargé, ng-app Le framework est initialisé. AngularJS recherche cet attribut une fois le document chargé, considère l'élément qui le contient comme la racine de compilation et initialise le module spécifié dans sa valeur. Trois conséquences en découlent :
- Seul le premier
ng-appLa page est initialisée automatiquement. Une seconde page est ignorée, sauf siangular.bootstrapest appelé manuellement. - La valeur doit désigner un module enregistré auprès de module Angular, sinon la console signale
[$injector:modulerr]. - Système de
ng-appsur lehtmlL'élément, comme le fait l'exemple, place l'ensemble du document sous AngularJS ; un conteneur plus étroit fonctionne également.
Fonctionnement des expressions {{ }} et de la liaison ng-model
Les doubles armatures autour message Les balises h1 ne contiennent pas d'espace réservé rempli une seule fois au chargement. AngularJS compile ce nœud de texte en un observateur sur les éléments environnants. portée, donc la sortie rendue tracks $scope.message et ce, aussi longtemps que la page existera.
Le cycle se déroule en trois étapes.
- Le contrôleur écrit une valeur sur
$scope. - Une passe de synthèse compare chaque expression observée avec son résultat précédent.
- Chaque expression dont la valeur a changé est réaffichée sur place.
Une expression interpolée est donc unidirectionnelle, de la portée à la vue. Une liaison bidirectionnelle nécessite ng-modèle, le directive Conçu pour les contrôles de formulaire. Ajouter <input ng-model="message"> À côté de l'en-tête, saisissez du texte dans la zone de texte, et l'en-tête change à chaque frappe, car ng-model réécrit la valeur du champ sur la même propriété de portée que celle surveillée par l'expression.
Les expressions sont volontairement limitées. Elles peuvent lire les propriétés de portée, appeler les méthodes de portée et tolérer silencieusement les valeurs indéfinies, mais elles ne peuvent pas déclarer de variables, utiliser d'instructions de contrôle de flux ni accéder aux objets globaux tels que window.
Comment corriger une page blanche ou un rendu incorrect {{ }}
Un premier programme AngularJS échoue de deux manières visibles : soit la page reste blanche, soit le texte littéral {{message}} « Hello World » apparaît à la place de « Hello World ». Dans les deux cas, cela signifie que le framework n'a jamais pris le contrôle du balisage. Veuillez effectuer les vérifications ci-dessous dans l'ordre, en gardant la console du navigateur ouverte.
- Vérifiez que la bibliothèque est chargée. Ouvrez le panneau Réseau et recherchez le
angular.jsUne requête 404 ou un CDN inaccessible ne modifie pas l'affichage des accolades à l'écran. - Vérifiez le chemin d'accès au script. Un chemin relatif est résolu par rapport au dossier contenant le fichier HTML, donc une copie dans un
jsle sous-dossier a besoinjs/angular.min.js. - Vérifier ng-app. Un attribut manquant ou mal orthographié n'a aucune incidence sur Bootstrap. L'attribut est séparé par un trait d'union :
ng-appdans le balisage, même si la directive est en camelCase dans JavaScénario. - Lisez l'erreur de la console.
[$injector:modulerr]signifie que le module nommé par ng-app n'a jamais été enregistré.[ng:areq]signifie généralement que le nom du contrôleur dans le balisage ne correspond pas au nom transmis à.controller(). - Cherchez une deuxième application ng. Seul le premier élément est initialisé, donc une copie égarée laissée sur un élément interne désactive silencieusement cette partie de la page.
Deux autres causes expliquent la plupart des autres signalements.
- Le protocole de fichier. Cet exemple à fichier unique fonctionne correctement lorsqu'il est ouvert directement depuis le disque, mais tout modèle récupéré via XHR est bloqué par les règles d'origine du navigateur. Servez le dossier via HTTP une fois les modèles disponibles.
- Un bref aperçu des bretelles. Lorsque le balisage est rendu avant sa compilation par le framework, l'expression brute est visible un instant. Ajouter
ng-cloakà l'élément, ou échanger l'expression pourng-bind="message", qui n'affiche jamais son propre balisage.
Si aucune de ces solutions ne s'applique, réduisez la page à l'exemple ci-dessus et ajoutez votre propre code ligne par ligne.


