Table des matières
Installer vue-router
Définir les routes
路由跳转
接收参数
通过 props 传参
通过 $route 传参
总结
Passer des paramètres via des accessoires
Passer des paramètres via $route
Maison interface Web Questions et réponses frontales Comment écrire le paramètre ts dans la route vue3

Comment écrire le paramètre ts dans la route vue3

May 25, 2023 pm 01:09 PM

Vue3 est l'un des frameworks front-end actuellement populaires, avec une excellente modularisation et réactivité. vue-router est le plug-in de routage officiellement fourni par Vue, qui nous permet de passer d'une page à l'autre dans l'application frontale et d'implémenter une application monopage (SPA).

En développement, nous avons parfois besoin de passer des paramètres entre les itinéraires, comme sauter d'une page à une autre et afficher les données correspondantes. Ensuite, nous présenterons comment transmettre des paramètres via vue-router dans Vue3, combiné à la vérification de type TypeScript, pour éviter les exceptions d'exécution causées par un passage de paramètres incorrect.

Installer vue-router

Avant d'utiliser vue-router pour implémenter le saut de route, nous devons d'abord installer vue-router :

npm install vue-router@next
Copier après la connexion

Définir les routes

Ensuite, nous devons définir les routes dans l'application Vue. Dans Vue3, les routes sont définies différemment que dans Vue2. Voici un exemple de code simple :

import { createRouter, createWebHistory } from 'vue-router';

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home,
    props: true
  },
  {
    path: '/page/:id',
    name: 'Page',
    component: Page,
    props: true
  }
];

const router = createRouter({
  history: createWebHistory(),
  routes
});

export default router;
Copier après la connexion

Parmi eux, createRouter et createWebHistory sont des méthodes d'usine fournies par Vue3 pour créer des instances de routage et des gestionnaires d'historique. createRoutercreateWebHistory是由Vue3提供的工厂方法,用于创建路由实例和历史记录管理器。

在定义路由时,我们需要指定路径、路由名称和组件。此外,我们还可以通过设置props: true,将路径参数作为组件属性传递,方便组件接收参数。

路由跳转

下面是一个基本的路由跳转示例代码:

import router from '@/router';

router.push({ name: 'Page', params: { id: '1' } });
Copier après la connexion

在上述代码中,我们使用router.push方法进行路由跳转。其中,name为跳转的路由名称,params为传递的参数对象,其内部键与路由路径中的参数名相对应。

接收参数

最后,我们需要在被跳转的页面组件中接收参数,并进行类型检查。

这里有两种方法可以传递参数。一种是通过props,另一种是通过$route。我们分别来看一下这两种传参方法的具体实现:

通过 props 传参

在路由定义时,我们可以通过props选项将路由参数作为组件的属性传递。下面是一个示例代码:

// 路由定义
{
  path: '/page/:id',
  name: 'Page',
  component: Page,
  props: true
}
Copier après la connexion

在组件中,我们可以直接声明这些属性,并通过TypeScript来进行类型检查。下面是一个示例代码:

<script lang="ts">
interface Props {
  id: string;
}

export default {
  props: {
    id: {
      type: String,
      required: true
    }
  },
  setup(props: Props) {
    /* ... */
  }
};
</script>
Copier après la connexion

这里我们使用了Vue3新引入的setup函数,用于替代Vue2中的datacomputedmethods等钩子函数。通过props对象,我们可以获取到传递过来的参数,并进行类型检查。

通过 $route 传参

另一种传递参数的方式是通过$route。这种方式下,我们可以通过$route.params对象获取到路由参数。下面是一个示例代码:

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  setup() {
    const id = $route.params.id;
    /* ... */
  }
});
</script>
Copier après la connexion

需要注意的是,在使用$route时,我们需要通过静态类型导入RouteLocationNormalizedRouteParams等路由相关类型,并对参数进行类型检查。

import { defineComponent } from 'vue';
import { RouteLocationNormalized, RouteParams } from 'vue-router';

export default defineComponent({
  setup() {
    const route = $route as RouteLocationNormalized & { params: RouteParams };
    const id = route.params.id;
    /* ... */
  }
});
Copier après la connexion

总结

在Vue3下使用vue-router传递路由参数并进行类型检查,是一种更加安全可靠的方式。通过TypeScript的类型检查,我们可以避免因错误传参导致的运行时异常,提高代码的稳定性。同时,Vue3引入的setup

Lors de la définition d'un itinéraire, nous devons spécifier le chemin, le nom de l'itinéraire et les composants. De plus, nous pouvons également transmettre les paramètres de chemin en tant que propriétés du composant en définissant props: true pour faciliter la réception des paramètres par le composant. 🎜🎜Saut d'itinéraire🎜🎜Ce qui suit est un exemple de code de saut d'itinéraire de base : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons la méthode router.push pour effectuer un saut d'itinéraire. Parmi eux, name est le nom de la route de saut, params est l'objet paramètre transmis et sa clé interne correspond au nom du paramètre dans le chemin de routage. 🎜🎜Recevoir les paramètres🎜🎜Enfin, nous devons recevoir les paramètres dans le composant de page en cours de saut et effectuer une vérification de type. 🎜🎜Il existe deux façons de transmettre des paramètres. L'un se fait via props et l'autre via $route. Jetons un coup d'œil à l'implémentation spécifique de ces deux méthodes de passage de paramètres respectivement : 🎜

Passer des paramètres via des accessoires

🎜Lors de la définition des routes, nous pouvons utiliser l'option props pour utiliser les paramètres de routage à mesure que les propriétés des composants sont transmises. Voici un exemple de code : 🎜rrreee🎜Dans le composant, nous pouvons déclarer ces propriétés directement et effectuer une vérification de type via TypeScript. Voici un exemple de code : 🎜rrreee🎜Ici, nous utilisons la nouvelle fonction setup dans Vue3 pour remplacer les data et calculed dans Vue2, méthodes et autres fonctions de hook. Grâce à l'objet props, nous pouvons obtenir les paramètres transmis et effectuer une vérification de type. 🎜

Passer des paramètres via $route

🎜Une autre façon de transmettre des paramètres est via $route. De cette façon, nous pouvons obtenir les paramètres de routage via l'objet $route.params. Voici un exemple de code : 🎜rrreee🎜Il convient de noter que lors de l'utilisation de $route, nous devons importer RouteLocationNormalized et RouteParams via static types Attendez les types liés au routage et effectuez des vérifications de type sur les paramètres. 🎜rrreee🎜Résumé🎜🎜Utiliser vue-router pour transmettre les paramètres de routage et effectuer une vérification de type sous Vue3 est un moyen plus sûr et plus fiable. Grâce à la vérification de type de TypeScript, nous pouvons éviter les exceptions d'exécution causées par un passage de paramètres incorrect et améliorer la stabilité du code. Dans le même temps, de nouvelles fonctionnalités telles que la fonction setup et les méthodes d'usine introduites par Vue3 nous facilitent également la gestion et le traitement du routage pendant le processus de développement. 🎜

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

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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Mar 19, 2025 pm 03:58 PM

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Expliquez le concept de chargement paresseux. Expliquez le concept de chargement paresseux. Mar 13, 2025 pm 07:47 PM

Le chargement paresseux retarde le chargement du contenu jusqu'à ce qu'il soit nécessaire, améliorant les performances du Web et l'expérience utilisateur en réduisant les temps de chargement initiaux et la charge du serveur.

Comment fonctionne l'algorithme de réconciliation React? Comment fonctionne l'algorithme de réconciliation React? Mar 18, 2025 pm 01:58 PM

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

Comment fonctionne le currying en JavaScript et quels sont ses avantages? Comment fonctionne le currying en JavaScript et quels sont ses avantages? Mar 18, 2025 pm 01:45 PM

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Mar 18, 2025 pm 01:44 PM

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Mar 19, 2025 pm 03:59 PM

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Mar 21, 2025 pm 06:23 PM

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Mar 19, 2025 pm 04:10 PM

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

See all articles