Maison interface Web js tutoriel Tutoriel de démarrage d'AngularJS (2) : AngularJS Template_AngularJS

Tutoriel de démarrage d'AngularJS (2) : AngularJS Template_AngularJS

May 16, 2016 pm 04:28 PM
angularjs 入门教程

Il est temps de donner à ces pages Web des fonctionnalités dynamiques - utilisez AngularJS ! Nous avons ajouté ici un test pour le contrôleur qui sera ajouté ultérieurement.

Il existe de nombreux types de structures de code pour une application. Pour les applications AngularJS, nous encourageons l'utilisation du modèle Model-View-Controller (MVC) pour découpler le code et séparer les préoccupations. Dans cet esprit, nous utilisons AngularJS pour ajouter des modèles, des vues et des contrôleurs à notre application.

Veuillez réinitialiser le répertoire de travail :

Copier le code Le code est le suivant :

git checkout -f étape 2

Notre application dispose désormais d'une liste de trois téléphones.

Les différences les plus importantes entre l'étape 1 et l'étape 2 sont répertoriées ci-dessous. Vous pouvez accéder à GitHub pour voir les différences complètes.

Vues et modèles

Dans AngularJS, une vue est un mappage d'un modèle rendu via un modèle HTML. Cela signifie que chaque fois que le modèle change, AngularJS mettra à jour le point de jointure en temps réel et mettra à jour la vue en conséquence.

Par exemple, les composants de vue sont construits par AngularJS à l'aide du modèle suivant :

Copier le code Le code est le suivant :



...





  • {{phone.name}}

    {{phone.snippet}}






Nous venons de remplacer la liste téléphonique codée statiquement, car ici nous utilisons la directive ngRepeat et deux expressions AngularJS entourées d'accolades - {{phone.name}} et {{phone.snippet}} ——peuvent obtenir le même effet .

1. L'instruction ng-repeat="phone in phones" dans la balise

  • est un itérateur AngularJS. Cet itérateur demande à AngularJS de créer un élément
  • pour chaque téléphone de la liste, en utilisant la première balise
  • 2. Comme nous l'avons appris à l'étape 0, les accolades entourant phone.name et phone.snippet identifient la liaison de données. Différente du calcul constant, l'expression ici est en fait une référence de modèle de données de notre application, que nous avons définie dans le contrôleur PhoneListCtrl.

    Modèles et contrôleurs

    Le modèle de données est initialisé dans le contrôleur PhoneListCtrl (il s'agit simplement d'une fonction contenant un tableau, et l'objet stocké dans le tableau est la liste de données du téléphone mobile) :

    app/js/controller.js :

    Copier le code Le code est le suivant :

    fonction PhoneListCtrl ($ scope) {
    $scope.phones = [
    {"nom": "Nexus S",
    "snippet": "La rapidité est encore plus rapide avec le Nexus S."},
    {"name": "Motorola XOOM™ avec Wi-Fi",
    "snippet": "La tablette nouvelle génération."},
    {"name": "MOTOROLA XOOM™",
    "snippet": "La tablette nouvelle génération."}
    ];
    >

    Bien que le contrôleur ne semble pas jouer un rôle de contrôle, il joue ici un rôle essentiel. Les contrôleurs nous permettent d'établir des liaisons de données entre les modèles et les vues en leur donnant le contexte de notre modèle de données. C'est ainsi que nous connectons la couche de présentation, les données et les composants logiques :

    1.PhoneListCtrl - Le nom de la méthode du contrôleur (dans le fichier JS controllers.js) correspond à la valeur de la directive ngController dans la balise

    2. Les données du téléphone sont désormais associées au scope ($scope) injecté dans notre fonction contrôleur. Lorsque l'application démarre, une étendue racine est créée et l'étendue du contrôleur est un successeur typique de l'étendue racine. La portée de ce contrôleur est valide pour toutes les liaisons de données à l'intérieur de la balise

    La théorie de la portée d'AngularJS est très importante : une portée peut être considérée comme un outil de collage permettant aux modèles, aux modèles et aux contrôleurs de travailler ensemble. AngularJS utilise des étendues, ainsi que des informations contenues dans des modèles, des modèles de données et des contrôleurs. Ceux-ci peuvent aider à séparer le modèle et la vue, mais les deux sont vraiment synchronisés ! Toute modification apportée au modèle est immédiatement reflétée dans la vue ; toute modification apportée à la vue est immédiatement reflétée dans le modèle.

    Pour une compréhension plus approfondie de la portée d'AngularJS, veuillez vous référer au Document sur la portée d'AngularJS.

    Test

    La « méthode AngularJS » rend les tests de code pendant le développement très simples. Jetons un coup d'œil au test unitaire nouvellement ajouté suivant pour le contrôleur :

    test/unit/controllersSpec.js :

    Copier le code Le code est le suivant :

    décrire('Contrôleurs PhoneCat', function() {

    décrire('PhoneListCtrl', function(){

    it('devrait créer un modèle "téléphones" avec 3 téléphones', function() {
    var portée = {},
    ctrl = nouveau PhoneListCtrl(scope);

    expect(scope.phones.length).toBe(3);
    });
    });
    });

    Ce test vérifie qu'il y a trois enregistrements dans notre réseau de téléphones mobiles (pas besoin de comprendre ce script de test pour l'instant). Cet exemple montre à quel point il est facile de créer un test unitaire pour le code AngularJS. Les tests étant une partie essentielle du développement logiciel, nous facilitons la création de tests dans AngularJS pour encourager les développeurs à en écrire davantage.

    Lors de l'écriture de tests, les développeurs AngularJS ont tendance à utiliser la syntaxe du framework Jasmine Behavior-Driven Development (BBD). Bien qu'AngularJS ne vous oblige pas à utiliser Jasmine, tous nos tests du didacticiel sont écrits en utilisant Jasmine. Vous pouvez obtenir des connaissances pertinentes sur la page d'accueil officielle de Jasmine ou sur le Wiki Jasmine.

    Les projets basés sur AngularJS sont préconfigurés pour utiliser le JsTestDriver pour exécuter des tests unitaires.

    Vous pouvez exécuter le test comme ceci :

    1. Sur un terminal séparé, entrez dans le répertoire angulaire-phonecat et exécutez ./scripts/test-server.sh pour démarrer le test (veuillez saisir .scriptstest-server.bat sur la ligne de commande Windows pour exécuter le script, suivi de La commande de script s'exécute de la même manière);
    2. Ouvrez une nouvelle fenêtre de navigateur et accédez à http://localhost:9876
    3. Sélectionnez "Capturer ce navigateur en mode strict".

    En ce moment, vous pouvez mettre votre fenêtre de côté et l'oublier. JsTestDriver exécutera le test par lui-même et affichera les résultats dans votre terminal.

    4. Exécutez ./scripts/test.sh pour tester.

    Vous devriez voir des résultats similaires à ceux-ci :

    Copier le code Le code est le suivant :

    Chrome : réinitialisation du coureur.
    .
    Total 1 tests (réussite : 1 ; échec : 0 ; erreurs : 0) (2,00 ms)
    Chrome 19.0.1084.36 Mac OS : exécuter 1 test (réussite : 1 ; échec : 0 ; erreurs 0) (2,00 ms)

    Ouais! Test réussi ! Ou pas... Remarque : Si une erreur se produit après l'exécution du test, fermez le navigateur et revenez au terminal pour fermer le script, puis réessayez les étapes ci-dessus.

    Pratique

    Ajoutez une autre liaison de données pour index.html. Par exemple :

    Copier le code Le code est le suivant :

    Nombre total de téléphones : {{phones.length}}



    Créez une nouvelle propriété de modèle de données et liez-la au modèle. Par exemple :
    Copier le code Le code est le suivant :

    $scope.hello = "Bonjour le monde !"

    Mettez à jour votre navigateur pour vous assurer qu'il indique « Bonjour tout le monde ! » 

    Créez un tableau simple avec un itérateur :

    Copier le code Le code est le suivant :


    numéro de ligne
    {{i}}


    Maintenant, incrémentons l'expression du modèle de données de 1 :
    Copier le code Le code est le suivant :


    numéro de ligne
    {{i 1}}


    Assurez-vous que le test unitaire échoue après avoir changé toBe(3) en toBe(4), puis exécutez à nouveau le script ./scripts/test.sh

    Résumé

    Vous disposez désormais d'une application dynamique avec des modèles, des vues et des contrôleurs séparés que vous pouvez tester à tout moment. Vous pouvez maintenant passer à l'étape 3 pour ajouter une fonctionnalité de recherche en texte intégral à votre application.

  • 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

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Comment relancer ses coéquipiers
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Comment obtenir des graines géantes
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Combien de temps faut-il pour battre Split Fiction?
    3 Il y a quelques semaines By DDD

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Framework d'implémentation PHP : tutoriel d'introduction à CakePHP Framework d'implémentation PHP : tutoriel d'introduction à CakePHP Jun 18, 2023 am 09:04 AM

    Avec le développement continu de la technologie Internet, la technologie de développement Web est également constamment mise à jour et itérée. En tant que langage de programmation open source, PHP est largement utilisé dans le développement Web. En tant que l'un des outils couramment utilisés dans le développement PHP, le framework PHP peut améliorer l'efficacité du développement et la qualité du code. Cet article vous présentera un framework PHP - CakePHP, et fournira quelques tutoriels simples pour commencer. 1. Qu'est-ce que CakePHP ? CakePHP est un modèle basé sur MVC (Model-View-Control

    Guide du débutant : Partez de zéro et apprenez MyBatis étape par étape Guide du débutant : Partez de zéro et apprenez MyBatis étape par étape Feb 19, 2024 am 11:05 AM

    Tutoriel d'introduction MyBatis concis et facile à comprendre : écrivez votre premier programme étape par étape MyBatis est un framework de couche de persistance Java populaire qui simplifie le processus d'interaction avec les bases de données. Ce didacticiel vous montrera comment utiliser MyBatis pour créer et effectuer des opérations de base de données simples. Étape 1 : configuration de l'environnement Tout d'abord, assurez-vous que votre environnement de développement Java a été installé. Ensuite, téléchargez la dernière version de MyBatis et ajoutez-la à votre projet Java. Vous pouvez le télécharger depuis le site officiel de MyBatis

    Framework d'implémentation PHP : tutoriel d'introduction au framework Lumen Framework d'implémentation PHP : tutoriel d'introduction au framework Lumen Jun 18, 2023 am 08:39 AM

    Lumen est un microframework basé sur PHP développé par les développeurs du framework Laravel. Il a été initialement conçu pour créer rapidement de petites applications API et des microservices, tout en conservant certains composants et fonctionnalités du framework Laravel. Le framework Lumen est léger, rapide et facile à utiliser, il a donc reçu une attention et une utilisation généralisées. Dans cet article, nous allons rapidement démarrer avec le framework Lumen et apprendre à utiliser le framework Lumen pour créer des applications API simples. Préparation du framework Avant d'apprendre le framework Lumen, nous devons

    Les 5 derniers tutoriels Angularjs en 2022, de l'entrée à la maîtrise Les 5 derniers tutoriels Angularjs en 2022, de l'entrée à la maîtrise Jun 15, 2017 pm 05:50 PM

    Javascript est un langage tout à fait unique. Il est unique en termes d'organisation du code, de paradigme de programmation du code et de théorie orientée objet. La question de savoir si Javascript est un langage orienté objet a été débattue depuis un certain temps. Il y a évidemment une réponse depuis longtemps. Cependant, même si Javascript est dominant depuis vingt ans, si vous souhaitez comprendre les frameworks populaires tels que jQuery, Angularjs et même React, il suffit de regarder le « Black Horse Cloud Classroom JavaScript Advanced Framework ». Tutoriel vidéo de conception".

    Utilisez PHP et AngularJS pour créer un site Web réactif afin d'offrir une expérience utilisateur de haute qualité Utilisez PHP et AngularJS pour créer un site Web réactif afin d'offrir une expérience utilisateur de haute qualité Jun 27, 2023 pm 07:37 PM

    À l’ère de l’information d’aujourd’hui, les sites Web sont devenus un outil important permettant aux individus d’obtenir des informations et de communiquer. Un site Web réactif peut s’adapter à divers appareils et offrir aux utilisateurs une expérience de haute qualité, ce qui est devenu un point chaud dans le développement de sites Web modernes. Cet article expliquera comment utiliser PHP et AngularJS pour créer un site Web réactif afin d'offrir une expérience utilisateur de haute qualité. Introduction à PHP PHP est un langage de programmation open source côté serveur idéal pour le développement Web. PHP présente de nombreux avantages, tels que la facilité d'apprentissage, la multiplateforme, la riche bibliothèque d'outils et l'efficacité du développement.

    Créer des applications Web en utilisant PHP et AngularJS Créer des applications Web en utilisant PHP et AngularJS May 27, 2023 pm 08:10 PM

    Avec le développement continu d'Internet, les applications Web sont devenues un élément important de la construction de l'information d'entreprise et un moyen nécessaire au travail de modernisation. Afin de faciliter le développement, la maintenance et l'extension des applications Web, les développeurs doivent choisir un cadre technique et un langage de programmation adaptés à leurs besoins de développement. PHP et AngularJS sont deux technologies de développement Web très populaires. Ce sont respectivement des solutions côté serveur et côté client. Leur utilisation combinée peut considérablement améliorer l'efficacité du développement et l'expérience utilisateur des applications Web. Avantages de PHPPHP

    Premiers pas avec le framework Python Flask Premiers pas avec le framework Python Flask Jun 17, 2023 am 08:48 AM

    Tutoriel d'introduction au framework PythonFlask Flask est un framework Web Python simple et facile à utiliser. Il accorde plus d'attention à la flexibilité et à la légèreté, permettant aux programmeurs de construire selon leurs propres préférences. Cet article vous présentera les concepts de base, l'installation et l'utilisation de Flask, et utilisera un exemple simple pour montrer comment utiliser Flask pour créer une application Web. Qu’est-ce que Flask ? Flask est un framework d'application Web léger basé sur Python qui ne nécessite l'utilisation d'aucun outil spécial.

    Guide d'envoi d'e-mails Java : démarrage facile et démonstrations pratiques Guide d'envoi d'e-mails Java : démarrage facile et démonstrations pratiques Dec 27, 2023 am 09:17 AM

    Tutoriel d'envoi d'e-mails Java : démarrage rapide et exemple de démonstration Ces dernières années, avec la popularité et le développement d'Internet, le courrier électronique est devenu un élément indispensable de la vie quotidienne et du travail des gens. L'envoi d'e-mails via le langage de programmation Java peut non seulement permettre un envoi d'e-mails rapide et efficace, mais également améliorer considérablement l'efficacité du travail grâce à l'automatisation. Cet article présentera comment utiliser la bibliothèque JavaMail pour envoyer des e-mails en Java et le démontrera à travers des exemples de code spécifiques. Étape 1 : Importez et configurez d'abord la bibliothèque JavaMail

    See all articles