Fermer

avril 6, 2021

Utilisation du routeur dans Angular 12 pour parcourir les vues


Les applications à page unique (SPA) permettent plusieurs vues sur la même page Web, et Angular Router vous aide à les parcourir et à décider quoi faire à propos de l'URL de chaque vue.

La création d'applications à page unique (SPA) est amusant, en particulier lorsque vous débutez avec Angular, et dans cet article, vous apprendrez l’une des façons dont Angular a rendu cela très facile à réaliser avec un minimum d’efforts.

Prérequis

Pour pouvoir suivre la démonstration de cet article, vous devriez avoir:

  • Un environnement de développement intégré (IDE) comme VS Code
  • Node version 11.0 installé sur votre machine
  • Node Package Manager version 6.7 (il est généralement livré avec l'installation Node)
  • Angular CLI version 8.0 ou supérieure
  • Dernière version d'Angular (version 12):
 version ng

Confirmez que vous utilisez la version 12, et mettez à jour à 12 si vous ne l'êtes pas.

D'autres choses qui vous seront utiles sont:

  • Connaissance pratique du framework Angular à un niveau débutant

L'une des choses étonnantes à propos de la création de SPA (applications à une seule page) est la possibilité d'y avoir plusieurs vues. L'utilisation d'Angular rend cela très facile car vous pouvez afficher dynamiquement plusieurs vues dans un composant grâce aux outils de navigation. Vous pouvez passer d'une page d'accueil à une page «À propos» à une page «Contactez-nous» dans un seul composant.

Pourquoi le routage est important

Imaginez un scénario où vous passez d'une vue à une autre dans votre SPA mais l'URL ne change pas du tout. Comme si vous cliquez sur le bouton «À propos de nous» et que la page apparaît dans le DOM, mais l'URL indique toujours «newapp.com» au lieu de «newapp.com/abouttreet». La première est la suivante: Comment pouvez-vous ajouter un signet à la vue particulière, en voyant que les signets enregistrent des URL et non des vues d'applications? D'autres défis incluent le fonctionnement du concept d'actualisation d'une page puisque l'URL est fondamentalement statique et la façon dont vous partagez même un lien avec d'autres personnes.

Le routage garantit que l'URL correspond à la vue affichée afin que vous puissiez facilement séparer les vues , maintenez l'état et ayez même des expériences Web intuitives.

Qu'est-ce que le routeur angulaire?

Le routeur angulaire est un routeur JavaScript construit et maintenu par l'équipe angulaire. Il dispose d'un package de routage complet qui vous permet de définir exactement la chaîne d'URL que vous souhaitez attribuer à une vue. Vous pouvez avoir plusieurs sorties de routeur, une correspondance de chemin et même des gardes de route. C'est une partie si importante d'Angular qui garantit que les SPA peuvent être construits facilement en utilisant le framework.

Ce que nous construisons

Nous allons créer une petite application de télévision musicale qui affiche deux vues lorsque vous cliquez sur les boutons qui connectez-les, comme indiqué ci-dessous:

 L'URL se termine par «/ Artists» lorsque vous cliquez sur le bouton Artistes et «/ records» lorsque vous cliquez sur le bouton Records.

Configuration

Pour commencez, ouvrez VS Code et dans le terminal, créez une nouvelle application angulaire avec la commande ci-dessous:

 ng new newap --routing

L'ajout de l'indicateur de routage crée automatiquement une nouvelle application Angular appelée newapp avec un routage pré-configuré prêt à l'emploi.

Maintenant, changez de répertoire. Accédez au dossier racine de l'application avec cette commande:

 cd newapp

Les deux composants

La prochaine chose à faire est de générer les nouveaux composants qui hébergeraient les deux vues que nous prévoyons d'alterner.

 ng generate component Artists -it -is
ng générer des enregistrements de composants -it -is

Ces deux commandes créent de nouveaux dossiers à l’intérieur du dossier d’application de la source, appelés Artistes et enregistrements, avec des styles et des modèles intégrés, tout comme Vue.js par défaut. La prochaine chose à faire est de configurer les routes en fonction de nos besoins.

Configuration des routes

Pour configurer le routeur, copiez le bloc de code ci-dessous dans votre fichier app-routing.module.ts:

 import [19659038] { NgModule }   from   '@ angular / core' ; 
 import   { Routes  RouterModule  ]}   de   '@ angular / router' ; 
 import   { ArtistsComponent }   from   './ Artists / Artists.component "; 
 import   { RecordsComponent }   from  " ./ records / records.component "; 
  const [19659058] routes :  Routes  =   [
   { path :  'Artists'  component :  ArtistsComponent } 
   { chemin :  'records' [19659041] composant :  RecordsComponent } 
] ; 
 @  NgModule  ( {
  importations :   [ RouterModule .  forRoot  ( routes ) ] 
  exportations :   [ RouterModule ] 
} ) 
 export   class   AppRoutingModule   { } 
 export [19659039] const  ArrayOfComponents  =   [ ArtistsComponent  RecordsComponent ] 

Premièrement, nous avons importé les deux composants; puis nous avons configuré les routes. Remarquez comment nous avons défini la chaîne d'URL que nous voulions en tant qu'artistes et enregistrements et les avons mis en correspondance avec les deux composants. Afin de ne pas continuer à importer les composants partout où nous pourrions avoir besoin, nous avons créé un tableau de composants à la place.

Pour enregistrer ce nouveau développement, ouvrez votre fichier de module d'application et copiez-le dans le bloc de code ci-dessous:

 import [19659038] { BrowserModule }   from   '@ angular / platform-browser' ; 
 import   { NgModule }   from   '@ angular / core' ; 
 import   { AppRoutingModule  ArrayOfComponents }   from   './ app-routing .module '; 
 import   { AppComponent }   from  ' ./ app.component '; 
@  NgModule  ( {
  déclarations :   [
    AppComponent 
    ArrayOfComponents
  ] 
  importations :   [
    BrowserModule 
    AppRoutingModule
  ] 
  fournisseurs :   [] 
  bootstrap :   [ AppComponent ] 
} ) 
 export   class   AppModule   { } 

Ici, nous avons enregistré le nouveau tableau de composants. Comme vous pouvez le voir, nous n'avions plus besoin d'importer les deux composants à l'intérieur du tableau. C'est un excellent moyen de maintenir correctement votre code.

La prochaine chose à faire est de créer le modèle d'application lui-même, pour refléter tout ce que nous avons fait. Le lien du routeur fait partie du routeur angulaire utilisé pour indiquer les liens – il est essentiel à l'intérieur du modèle lorsque vous souhaitez pointer vers une vue. Dans le fichier HTML du composant de l'application, remplacez le contenu par le bloc de code ci-dessous:

 < div   class  =  " car "   > 
 < div   style  = " text-align :  center ;  "  > 
   < h1 > 
     Ceci est votre téléviseur musical
   </  h1 > 
 </  div > 
 < nav   style  = " text-align [19659041]:  centre ;   " > 
   < bouton   routerLink  =  ' / artistes  ' >  Artists  </  button > 
   < button   routerLink  = '  / records  ' >  Records  </  button > 
 </  nav > 
 < router-outlet >   </  router-outlet > 
 </  div > 

Vous pouvez maintenant voir que nous avons dit au routeur de changer la vue du composant Artistes lorsque le bouton «Artistes» est cliqué, et de faire de même lorsque le bouton «Enregistrements» est cliqué.

Touches de finition

Pour ajouter du style à l'application afin qu'elle se démarque, ouvrez le fichier CSS du composant de l'application et copiez-y les règles suivantes:

 .car   {
     top :   50% ; 
     text-align :  center ; 
     border-radius :   25  px ; 
     border  ]:   2  px solide  # 73AD21 ; 
     padding :   20  px ; 
     width : [19659187] 600  px ; 
     hauteur :   250  px ; 
     marge gauche :   25% ; [19659185] margin-bottom :   15  px ; 
  } 
  
   button  {
     to p :   50% ; 
     text-align :  center ; 
     border-radius :   15  px ; 
     border :   2  px solid  # 73AD21 ; 
     width :  fit-content ; [19659185] marge :   20  px ; 
     padding :   20  px ; 
  } 

Enregistrez tous ces fichiers et exécutez l'application sur le serveur de développement avec:

 ng serve

Vous verrez qu'il fonctionne exactement comme il a été montré ci-dessus.

Conclusion

Nous venons de jeter un oeil au routeur angulaire et pourquoi il est important dans votre flux de travail, en particulier lors de la construction de SPA. Nous avons vu comment il est utilisé et comment nous pouvons facilement naviguer entre les vues avec. J'espère que vous intégrez des routeurs dans votre flux de travail à l'avenir. Bon piratage!




Source link