Maison interface Web js tutoriel Explication détaillée des exemples de routage dynamique dans Vue.js

Explication détaillée des exemples de routage dynamique dans Vue.js

Mar 13, 2018 pm 04:03 PM
javascript vue.js 实例

La fonction de navigation d'itinéraire implémentée dans l'article Utiliser vue-router pour effectuer des fonctions de navigation simples ne peut pas transmettre de paramètres, ce qui signifie qu'il s'agit d'un itinéraire statique. Étant donné que le mode de routage qui peut transmettre des paramètres peut transmettre des paramètres, le nombre d'itinéraires correspondants est incertain, c'est pourquoi on l'appelle routage dynamique.

Alors comment utiliser les paramètres comme routes ?

Ajoutez : devant le nom du paramètre, puis écrivez les paramètres dans le path de l'itinéraire

L'exemple suivant :

  routes: [    //将页面组件与path指令的路由关联
    { name: 'BookInfo', path: '/books/:id', component: BookInfo }
  ]
Copier après la connexion
Copier après la connexion

Après avoir été défini de cette manière, vue-router correspondra à tous : /books/1,/books/2,/books/3 ……, le nombre d'itinéraires ainsi définis est donc incertain.

Dans <router-link> nous ajoutons un attribut params pour spécifier la valeur spécifique du paramètre

        <li>
          <router-link :to ="{name:&#39;BookInfo&#39;,params :{id:1}}" >
            <p>首页</p>
          </router-link>
        </li>
Copier après la connexion
Copier après la connexion

Le lien ci-dessus correspond à : http://localhost:8080/__dirname/books / 1

Si vous devez transmettre plusieurs valeurs de paramètres, ajoutez simplement les paramètres selon la méthode de dénomination ci-dessus et transmettez la valeur de paramètre déclarée correspondante dans params vue-router doit uniquement correspondre au modèle de routage. . La définition décomposera automatiquement les paramètres et prendra des valeurs
. Par exemple, path: &#39;/books/version/:id&#39;, le params correspondant est : params :{id:1,version:1}


Alors maintenant, nous sommes confrontés à ce problème - comment lire la valeur de ce paramètre à partir de l'itinéraire ?
Réponse : obtenez la valeur du paramètre spécifiée via l'attribut $route.params, tel que : this.$route.params.id,this.$route.params.msg

Si vous souhaitez afficher la valeur du paramètre dans la page du composant correspondant, le code correspondant est la suivante :

<p>当前图书编号是:{{$route.params.id}}</p>
Copier après la connexion
Copier après la connexion

Si vous souhaitez effectuer le traitement correspondant en fonction des valeurs de paramètres dans le code js, ajoutez le code suivant à la route par défaut :

export default {  name: "app",  created() {    alert(this.$route.params.id);  }};
Copier après la connexion
Copier après la connexion

Lors de l'utilisation de paramètres de routage, tels que de /books/1 à /books/2, l'instance de composant d'origine sera réutilisée, car les deux routes restituent le même composant et le taux de réutilisation sera supérieur à celui de sa destruction et de sa recréation.
Cela signifie que le hook de cycle de vie du composant ne sera plus appelé (le composant n'est pas détruit puis créé), c'est-à-dire que created mounted et les autres fonctions de hook deviendront invalides lorsque la page sera chargée pour la deuxième fois.

Ensuite, lors de la réutilisation de composants, si vous souhaitez répondre aux modifications des paramètres de routage, vous devez ajouter une fonction de suivi des modifications de l'objet $watch au sein de l'objet $route

<script>
export default {  name: "app",
  watch :{
    &#39;$route&#39; (to,from){
      alert(to.params.id);
    }
  }
};
</script>
Copier après la connexion
Copier après la connexion

$route.params Les paramètres définis doivent faire partie de l'ensemble de l'itinéraire vue-router nous permet également d'utiliser "/path?param = value" pour transmettre des paramètres que vous pouvez utiliser. $route.query.参数名 Obtenir la valeur du paramètre
vue-router fournit également une définition de paramètre constante meta Nous pouvons d'abord définir la valeur de meta dans la définition de routage, puis obtenir la valeur constante spécifique via le paramètre $route.meta. dans l'instance de routage.

Le code suivant ($route.query.参数名)

{ name: &#39;BookInfo&#39;, path: &#39;/books/:id/?bookName=Lost&#39;, component: BookInfo }
Copier après la connexion
Copier après la connexion

Le code pour obtenir la valeur de bookName est this.$route.query.msg

Le code suivant ( $route.meta.参数名 )

{ name: &#39;BookInfo&#39;, path: &#39;/books/:id&#39;, component: BookInfo ,meta: { bookName : &#39;Lost In River&#39; }}
Copier après la connexion
Copier après la connexion

Le code pour obtenir la valeur de bookName est this.$route.meta.bookName

La fonction de navigation d'itinéraire implémentée dans l'article en utilisant vue-router pour compléter la navigation simple la fonction ne peut pas transmettre de paramètres, c'est-à-dire qu'il s'agit d'une route statique.

Le mode de routage qui peut transmettre des paramètres, car les paramètres peuvent être transmis, le nombre d'itinéraires correspondants est incertain, on l'appelle donc routage dynamique

Et alors ? Qu’en est-il de l’utilisation de paramètres comme itinéraires ?

Ajoutez : devant le nom du paramètre, puis écrivez les paramètres dans le path de l'itinéraire

L'exemple suivant :

  routes: [    //将页面组件与path指令的路由关联
    { name: &#39;BookInfo&#39;, path: &#39;/books/:id&#39;, component: BookInfo }
  ]
Copier après la connexion
Copier après la connexion

Après avoir été défini de cette manière, vue-router correspondra à tous : /books/1,/books/2,/books/3 ……, le nombre d'itinéraires ainsi définis est donc incertain.

Dans <router-link> nous ajoutons un attribut params pour spécifier la valeur spécifique du paramètre

        <li>
          <router-link :to ="{name:&#39;BookInfo&#39;,params :{id:1}}" >
            <p>首页</p>
          </router-link>
        </li>
Copier après la connexion
Copier après la connexion

Le lien ci-dessus correspond à : http://localhost:8080/__dirname/books / 1

Si vous devez transmettre plusieurs valeurs de paramètres, ajoutez simplement les paramètres selon la méthode de dénomination ci-dessus et transmettez la valeur de paramètre déclarée correspondante dans params vue-router doit uniquement correspondre au modèle de routage. . La définition décomposera automatiquement les paramètres et prendra des valeurs
. Par exemple, path: &#39;/books/version/:id&#39;, le params correspondant est : params :{id:1,version:1}


Alors maintenant, nous sommes confrontés à ce problème - comment lire la valeur de ce paramètre à partir de l'itinéraire ?
Réponse : obtenez la valeur du paramètre spécifiée via l'attribut $route.params, tel que : this.$route.params.id,this.$route.params.msg

Si vous souhaitez afficher la valeur du paramètre dans la page du composant correspondant, le code correspondant est la suivante :

<p>当前图书编号是:{{$route.params.id}}</p>
Copier après la connexion
Copier après la connexion

如果想在js代码中根据参数值做相应的处理,则在默认路由中加入如下代码:

export default {  name: "app",  created() {    alert(this.$route.params.id);  }};
Copier après la connexion
Copier après la connexion

当使用路由参数的时候,如 从/books/1/books/2 ,原来的组件实例会被复用,因为两个路由都渲染同一个组件,比起销毁后再创建,复用的销率会更高。
这也就是说 组件的生命周期钩子不会再被调用(组件没有被销毁后再创建) ,即 created mounted 等钩子函数在页面第二次加载的时候回失效。

那么,当复用组件时候,想对路由参数的变化做出响应的话,就需要在 $watch 对象内添加对 $route 对象变化的跟踪函数

<script>
export default {  name: "app",
  watch :{
    &#39;$route&#39; (to,from){
      alert(to.params.id);
    }
  }
};
</script>
Copier après la connexion
Copier après la connexion

$route.params 定义的参数必然是整个路由的其中一部分,vue-router 还可以让我们使用 "/path?param = value" 的方式传递参数,可以使用$route.query.参数名 获取参数值
vue-router 还提供一种常量参数定义 meta,我们可以在路由定义中先定义 meta 的值,然后在路由实例中通过$route.meta 参数获取具体常量值。

如下代码($route.query.参数名

{ name: &#39;BookInfo&#39;, path: &#39;/books/:id/?bookName=Lost&#39;, component: BookInfo }
Copier après la connexion
Copier après la connexion

获取其中 bookName 的值的代码为 this.$route.query.msg

如下代码($route.meta.参数名

{ name: &#39;BookInfo&#39;, path: &#39;/books/:id&#39;, component: BookInfo ,meta: { bookName : &#39;Lost In River&#39; }}
Copier après la connexion
Copier après la connexion

获取其中 bookName 的值的代码为 this.$route.meta.bookName

相关推荐:

vue router动态路由和嵌套路由实例详解

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)

Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 pm 02:54 PM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Dec 17, 2023 pm 12:09 PM

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Découvrez des exemples de bonnes pratiques de conversion de pointeur dans Golang Découvrez des exemples de bonnes pratiques de conversion de pointeur dans Golang Feb 24, 2024 pm 03:51 PM

Golang est un langage de programmation puissant et efficace qui peut être utilisé pour développer diverses applications et services. Dans Golang, les pointeurs sont un concept très important, qui peut nous aider à exploiter les données de manière plus flexible et plus efficace. La conversion de pointeur fait référence au processus d'opérations de pointeur entre différents types. Cet article utilisera des exemples spécifiques pour découvrir les meilleures pratiques de conversion de pointeur dans Golang. 1. Concepts de base Dans Golang, chaque variable a une adresse, et l'adresse est l'emplacement de la variable en mémoire.

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

La relation entre le nombre d'instances Oracle et les performances de la base de données La relation entre le nombre d'instances Oracle et les performances de la base de données Mar 08, 2024 am 09:27 AM

La relation entre le nombre d'instances Oracle et les performances de la base de données La base de données Oracle est l'un des systèmes de gestion de bases de données relationnelles les plus connus du secteur et est largement utilisée dans le stockage et la gestion de données au niveau de l'entreprise. Dans la base de données Oracle, l'instance est un concept très important. L'instance fait référence à l'environnement d'exécution de la base de données Oracle en mémoire. Chaque instance possède une structure de mémoire et un processus d'arrière-plan indépendants, qui sont utilisés pour traiter les demandes des utilisateurs et gérer les opérations de la base de données. Le nombre d'instances a un impact important sur les performances et la stabilité de la base de données Oracle.

See all articles