Table des matières
Configurer avec Vue CLI
Code de base
Entrez la route Vue
Configurer les itinéraires imbriqués
Résumé
Maison interface Web Voir.js Introduction à la méthode d'utilisation du routage imbriqué dans Vue.js

Introduction à la méthode d'utilisation du routage imbriqué dans Vue.js

Dec 01, 2020 pm 05:26 PM
vue.js Routage imbriqué

Introduction à la méthode d'utilisation du routage imbriqué dans Vue.js

À mesure que les applications monopage (SPA) Vue.js deviennent assez complexes, vous commencez à avoir besoin de routes Vue et de routes imbriquées. Le routage imbriqué permet des interfaces utilisateur et des composants plus complexes imbriqués les uns dans les autres. Créons un cas d'utilisation relativement simple pour démontrer l'utilité du routage imbriqué dans Vue Router.

Configurer avec Vue CLI

Si ce n'est pas déjà installé, exécutez la commande suivante pour installer Vue CLI globalement :

$ npm install -g @vue/cli
Copier après la connexion

ou

$ yarn global add @vue/cli
Copier après la connexion

Vous pouvez maintenant installez-le à partir de la commande Exécutez maintenant la commande vue. Créons une application Vue appelée alligator-nest :

$ vue create alligator-nest
Copier après la connexion

Sélectionnez le préréglage par défaut à l'invite (appuyez sur Entrée). Après cela, exécutez la commande suivante :

$ npm install vue-router
Copier après la connexion

Ensuite, ouvrez le répertoire alligator-nest dans l'éditeur de votre choix.

Code de base

Le CSS suivant nous aidera à positionner les éléments pour l'interface utilisateur. Ajoutez-le en tant que fichier de feuille de style au dossier public/ et référencez-le dans public/index.html . Pour cela nous utiliserons la grille CSS :

grid.css

.row1 {
  grid-row-start: 1;
  grid-row-end: 2;
}

.row12 {
  grid-row-start: 1;
  grid-row-end: 3;
}

.row123 {
  grid-row-start: 1;
  grid-row-end: 4;
}

.row2 {
  grid-row-start: 2;
  grid-row-end: 3;
}

.row23 {
  grid-row-start: 2;
  grid-row-end: 4;
}

.row3 {
  grid-row-start: 3;
  grid-row-end: 4;
}

.col1 {
  grid-column-start: 1;
  grid-column-end: 2;
}

.col12 {
  grid-column-start: 1;
  grid-column-end: 3;
}

.col123 {
  grid-column-start: 1;
  grid-column-end: 4;
}

.col1234 {
  grid-column-start: 1;
  grid-column-end: 5;
}

.col2 {
  grid-column-start: 2;
  grid-column-end: 3;
}

.col23 {
  grid-column-start: 2;
  grid-column-end: 4;
}

.col234 {
  grid-column-start: 2;
  grid-column-end: 5;
}

.col3 {
  grid-column-start: 3;
  grid-column-end: 4;
}

.col34 {
  grid-column-start: 3;
  grid-column-end: 5;
}

.col4 {
  grid-column-start: 4;
  grid-column-end: 5;
}
Copier après la connexion

Ensuite, ajoutons le fichier par défaut pour vue-cli Apportez quelques modifications .

Supprimez src/components du dossier HelloWorld.vue et supprimez tout ce qui s'y rapporte de src/App.vue. Apportez les modifications suivantes à la balise HTML et aux styles CSS dans App.vue.

<template>
  <div id="app">
    <h1 class="row1 col12">Alligator Nest</h1>
    <a class="row1 col3">Travels</a>
    <a class="row1 col4">About</a>
    <div class="row2 col234"></div>
  </div>
</template>
html, body {
  height: 100vh;
  width: 100vw;
  padding: 0;
  margin: 0;
}

#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #2c3e50;
  padding: 2%;
  height: 100%;
  display: grid;
  grid-template-rows: 20% 80%;
  grid-template-columns: 25% 25% 25% 25%;
}
Copier après la connexion

Si vous exécutez npm run serve à la racine de votre projet, vous pouvez survoler localhost:8080 dans votre navigateur et voir la disposition du cadre. Ces display:grid attributs sont utiles ! Nous pouvons maintenant commencer à créer des itinéraires.

Entrez la route Vue

Créez un composant nommé /components dans le dossier AboutPage.vue. Cela ressemble à ceci :

<template>
  <div>
    <h2>About</h2>
    <p>Alligators were around during the time of the dinosaurs.</p>
  </div>
</template>

<script>
  export default {
    name: &#39;AboutPage&#39;,
  }
</script>

<style scoped>
  
</style>
Copier après la connexion

Maintenant, notre fichier main.js a besoin de la route /about. Cela ressemble à ceci.

import VueRouter from &#39;vue-router&#39;;
import Vue from &#39;vue&#39;;
import App from &#39;./App.vue&#39;;

Vue.config.productionTip = false;

import VueRouter from &#39;vue-router&#39;;
Vue.use(VueRouter);

import AboutPage from &#39;./components/AboutPage.vue&#39;;

const routes = [
  { path: &#39;/about&#39;, component: AboutPage },
]

const router = new VueRouter({
  routes
})

new Vue({
  render: h => h(App),
  router
}).$mount(&#39;#app&#39;);
Copier après la connexion

Enfin, revenons à App.vue et changeons la balise d'ancrage « À propos » en une balise to="/about" avec l'attribut <router-link>. Ensuite, remplacez le deuxième div par une balise <router-view>. Assurez-vous de conserver les propriétés de la classe de positionnement de la grille inchangées.

Nous disposons désormais d'un squelette de site entièrement fonctionnel avec un routage géré pour la page « À propos ».

Nous nous concentrons ici sur la fonction de routage, nous ne passerons donc pas trop de temps sur le style. Néanmoins, nous souhaitons rendre la page Travels un peu plus soignée.


Tout d'abord, créez un TravelPage de la même manière que vous créez un AboutPage. Faites-y référence dans main.js.

Vous devrez également créer les deux composants suivants, qui seront finalement imbriqués dans TravelPage.vue :

TravelAmericaPage.vue

<template>
  <div>
    <p>Alligators can be found in the American states of Louisiana and Florida.</p>
  </div>
</template>

<script>
  export default {
    name: &#39;TravelAmericaPage&#39;
  }
</script>

<style scoped>
</style>
Copier après la connexion

TravelChinaPage.vue

<template>
  <div>
    <p>Alligators can be found in China&#39;s Yangtze River Valley.</p>
  </div>
</template>

<script>
  export default {
    name: &#39;TravelChinaPage&#39;
  }
</script>

<style scoped>

</style>
Copier après la connexion

Configurer les itinéraires imbriqués

Maintenant, mettons à jour main.js et TravelPage.vue pour utiliser children pour référencer ces itinéraires imbriqués. main.js doit être mis à jour pour avoir la définition suivante pour la constante routes :

const routes = [
  {
    path: &#39;/travel&#39;, component: TravelPage,
    children: [
      { path: &#39;/travel/america&#39;, component: TravelAmericaPage },
      { path: &#39;/travel/china&#39;, component: TravelChinaPage}
    ]
  },
  {
    path: &#39;/about&#39;, component: AboutPage
  }
];
Copier après la connexion

Notez que l'imbrication des enfants peut continuer indéfiniment.

et TravelPage.vue peuvent être écrits via :

TravelPage.vue

<template>
  <div id="travel">
    <h2 class="row1">Travels</h2>
    <div class="flex-container row2">
      <router-link to="/travel/america">America</router-link>
      <router-link to="/travel/china">China</router-link>
    </div>
    <router-view class="row3"></router-view>
  </div>
</template>

<script>
  export default {
    name: &#39;TravelPage&#39;
  }
</script>

<style scoped>
div {
  text-align: center;
}

#travel {
  display: grid;
  grid-template-rows: 20% 40% 40%;
}

.flex-container {
  display: flex;
  justify-content: space-around;
}
</style>
Copier après la connexion

Checkoutlocalhost:8080 et vous verrez la page Voyages Contient 2 sous-pages ! Lorsque vous cliquez sur un lien, notre URL sera mise à jour en conséquence.

Résumé

J'espère que ce tutoriel vous a été utile pour comprendre comment utiliser le routage imbriqué !

Autre remarque sur ce sujet : nous pouvons définir des itinéraires en utilisant des segments dynamiques, tels que path:'/location/:id'. Ensuite, sur les vues de ces itinéraires, vous pouvez référencer cet identifiant comme this.$route.params. Cette fonctionnalité est utile lorsque vous souhaitez afficher des types de données plus spécifiques (utilisateurs, images, etc.) sur des sites Web et des applications.

Adresse originale en anglais : https://alligator.io/vuejs/nested-routes/

Adresse de traduction : https://segmentfault.com/a/1190000021930656

Recommandations associées :

Résumé des questions d'entretien Front-end Vue 2020 (avec réponses)

tutoriel vue Recommandé : Les 5 dernières sélections de didacticiels vidéo vue.js en 2020

Pour plus de connaissances liées à la programmation, veuillez visiter : Introduction à la programmation ! !

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!

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Discussion approfondie sur la façon dont vite analyse les fichiers .env Discussion approfondie sur la façon dont vite analyse les fichiers .env Jan 24, 2023 am 05:30 AM

Lorsque nous utilisons le framework Vue pour développer des projets front-end, nous déploierons plusieurs environnements lors du déploiement. Souvent, les noms de domaine d'interface appelés par les environnements de développement, de test et en ligne sont différents. Comment peut-on faire la distinction ? Cela utilise des variables et des modèles d'environnement.

Explication graphique détaillée de la façon d'intégrer l'éditeur de code Ace dans un projet Vue Explication graphique détaillée de la façon d'intégrer l'éditeur de code Ace dans un projet Vue Apr 24, 2023 am 10:52 AM

Ace est un éditeur de code intégrable écrit en JavaScript. Il correspond aux fonctionnalités et aux performances des éditeurs natifs comme Sublime, Vim et TextMate. Il peut être facilement intégré à n’importe quelle page Web et application JavaScript. Ace est maintenu en tant qu'éditeur principal de l'IDE Cloud9 et est le successeur du projet Mozilla Skywriter (Bespin).

Quelle est la différence entre la composantisation et la modularisation dans Vue Quelle est la différence entre la composantisation et la modularisation dans Vue Dec 15, 2022 pm 12:54 PM

La différence entre la modularisation et la modularisation : la modularisation est divisée du point de vue de la logique du code ; elle facilite le développement en couches de code et garantit la cohérence des fonctions de chaque module fonctionnel. La composantisation est planifiée du point de vue de l'interface utilisateur ; la composantisation du frontal facilite la réutilisation des composants de l'interface utilisateur.

Découvrez comment écrire des tests unitaires dans Vue3 Découvrez comment écrire des tests unitaires dans Vue3 Apr 25, 2023 pm 07:41 PM

Vue.js est devenu aujourd'hui un framework très populaire dans le développement front-end. À mesure que Vue.js continue d'évoluer, les tests unitaires deviennent de plus en plus importants. Aujourd'hui, nous allons explorer comment écrire des tests unitaires dans Vue.js 3 et fournir quelques bonnes pratiques ainsi que des problèmes et solutions courants.

Parlons en profondeur de reactive() dans vue3 Parlons en profondeur de reactive() dans vue3 Jan 06, 2023 pm 09:21 PM

Avant-propos : Dans le développement de vue3, réactif fournit une méthode pour implémenter des données réactives. Il s'agit d'une API fréquemment utilisée dans le développement quotidien. Dans cet article, l’auteur explorera son mécanisme de fonctionnement interne.

Une comparaison simple de la syntaxe JSX et de la syntaxe des modèles dans Vue (analyse des avantages et des inconvénients) Une comparaison simple de la syntaxe JSX et de la syntaxe des modèles dans Vue (analyse des avantages et des inconvénients) Mar 23, 2023 pm 07:53 PM

Dans Vue.js, les développeurs peuvent utiliser deux syntaxes différentes pour créer des interfaces utilisateur : la syntaxe JSX et la syntaxe des modèles. Les deux syntaxes ont leurs propres avantages et inconvénients. Discutons de leurs différences, avantages et inconvénients.

Une brève analyse de la façon de gérer les exceptions dans les composants dynamiques Vue3 Une brève analyse de la façon de gérer les exceptions dans les composants dynamiques Vue3 Dec 02, 2022 pm 09:11 PM

Comment gérer les exceptions dans les composants dynamiques Vue3 ? L'article suivant parlera des méthodes de gestion des exceptions des composants dynamiques Vue3. J'espère qu'il sera utile à tout le monde !

Une brève analyse de la façon dont vue implémente le téléchargement par découpage de fichiers Une brève analyse de la façon dont vue implémente le téléchargement par découpage de fichiers Mar 24, 2023 pm 07:40 PM

Dans le processus de développement réel du projet, il est parfois nécessaire de télécharger des fichiers relativement volumineux, puis le téléchargement sera relativement lent, de sorte que l'arrière-plan peut nécessiter que le front-end télécharge des tranches de fichiers. Par exemple, 1 A. Le flux de fichiers de gigaoctets est découpé en plusieurs petits flux de fichiers, puis l'interface est invitée à fournir respectivement les petits flux de fichiers.

See all articles