Maison interface Web js tutoriel Partage récapitulatif des hooks de routage Vue et des scénarios d'application

Partage récapitulatif des hooks de routage Vue et des scénarios d'application

Jan 19, 2018 pm 02:00 PM
场景 应用

Cet article présente principalement l'explication détaillée des hooks de routage Vue et des scénarios d'application (résumé). L'éditeur pense que c'est assez bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un œil. J'espère que cela pourra aider tout le monde.

1. Syntaxe du hook de routage

Dans le document officiel de vue-router, le hook de routage est traduit par garde de navigation. Vous pouvez également l'envoyer en allant sur le site officiel pour lire les détails

Hooks de routage

Les hooks de routage sont principalement définis pour que les utilisateurs effectuent un traitement spécial lors des changements de routage. . Quelle bouchée.

De manière générale, Vue propose trois principaux types de hooks

1 Hooks globaux
2 Hooks exclusifs à un certain itinéraire
3. crochets de composants

Les trois crochets de routage impliquent trois paramètres. Passons directement à l'introduction officielle ici

à : Route : l'objet de routage cible qui est sur le point d'être saisi
from : Route : L'itinéraire que la navigation actuelle est sur le point de quitter
next : Fonction : Cette méthode doit être appelée pour résoudre ce hook. L'effet d'exécution dépend des paramètres d'appel de la méthode suivante.
next() : passez au hook suivant dans le pipeline. Si tous les hooks sont exécutés, l'état de navigation est confirmé.
next(false) : Interrompre la navigation en cours. Si l'URL du navigateur change (peut-être manuellement par l'utilisateur ou par le bouton Précédent du navigateur), l'adresse URL sera réinitialisée à l'adresse correspondant à l'itinéraire de départ.
suivant('/') ou suivant({ chemin : '/' }) : accédez à une autre adresse. La navigation en cours est interrompue et une nouvelle navigation démarre.

(1). Global guard (global router hook)

Vous pouvez utiliser router.beforeEach pour enregistrer une pré-garde globale :

const router = new VueRouter({ ... })

router.beforeEach((to, from, next) => {
 // ...
 next()
})
Copier après la connexion

Chaque méthode de garde accepte Trois paramètres :

  1. vers : Route : l'objet de route cible qui est sur le point d'entrer

  2. de : Route : l'itinéraire que la navigation actuelle est sur le point de partir

  3. suivant : Fonction : Cette méthode doit être appelée pour résoudre ce hook. L'effet d'exécution dépend des paramètres d'appel de la méthode suivante

Remarque : lorsque vous utilisez le hook de routage global, assurez-vous d'appeler next()!!!

( 2). Exclusif aux gardes de routage (hooks in-route)

Vous pouvez définir directement les gardes beforeEnter dans la configuration de la route :

const router = new VueRouter({
 routes: [
  {
   path: '/foo',
   component: Foo,
   beforeEnter: (to, from, next) => {
    // ...
   }
  }
 ]
})
Copier après la connexion

Les paramètres de méthode de ces gardes sont les mêmes que ceux des gardes de routage. pré-gardes mondiales.

(3). Gardes au sein du composant (crochet au sein du composant)

Enfin, vous pouvez définir directement la garde de navigation d'itinéraire dans le composant de routage :

  1. beforeRouteEnter

  2. beforeRouteUpdate (nouveau dans la version 2.2)

  3. beforeRouteLeave

const Foo = {
 template: `...`,
 beforeRouteEnter (to, from, next) {
  // 在渲染该组件的对应路由被 confirm 前调用
  // 不!能!获取组件实例 `this`
  // 因为当守卫执行前,组件实例还没被创建
 },
 beforeRouteUpdate (to, from, next) {
  // 在当前路由改变,但是该组件被复用时调用
  // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
  // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
  // 可以访问组件实例 `this`
 },
 beforeRouteLeave (to, from, next) {
  // 导航离开该组件的对应路由时调用
  // 可以访问组件实例 `this`
 }
}
Copier après la connexion

2. Scénarios d'application des hooks de routage dans le développement réel

Les hooks de routage sont rarement utilisés dans le processus de développement réel, je n'ai utilisé que beforeRouteLeave dans les composants : 

(1) Effacer la minuterie dans le composant actuel

Lorsqu'il y a une minuterie dans un composant, lorsque l'itinéraire est changé, vous pouvez utiliser beforeRouteLeave pour effacer la minuterie afin d'éviter que la mémoire soit occupée :

beforeRouteLeave (to, from, next) {
 window.clearInterval(this.timer) //清楚定时器
 next()
}
Copier après la connexion

(2) Lorsqu'il y a des fenêtres non fermées ou du contenu non enregistré dans la page, empêchez la page de sauter

S'il y a des informations importantes dans la page dont l'utilisateur a besoin, le saut ne peut être effectué après l'enregistrement, ou il peut y avoir une boîte contextuelle. Les utilisateurs ne doivent pas pouvoir sauter

 beforeRouteLeave (to, from, next) {
 //判断是否弹出框的状态和保存信息与否
 if (this.dialogVisibility === true) {
  this.dialogVisibility = false //关闭弹出框
  next(false) //回到当前页面, 阻止页面跳转
 }else if(this.saveMessage === false) {
  alert('请保存信息后退出!') //弹出警告
  next(false) //回到当前页面, 阻止页面跳转
 }else {
  next() //否则允许跳转
 }
}
Copier après la connexion

(3) Enregistrez le contenu pertinent dans Vuex ou Session

lorsque l'utilisateur doit fermer. sur cette page, vous pouvez enregistrer des informations publiques dans une session ou Vuex

 beforeRouteLeave (to, from, next) {
  localStorage.setItem(name, content); //保存到localStorage中
  next()
}
Copier après la connexion

Recommandations associées :

Jugez si l'utilisateur est connecté lorsque l'itinéraire Vue saute

Explication détaillée des étapes de mise en œuvre du SPA imbriqué de routage Vue

Un exemple de tutoriel résumant les problèmes de saut de routage Vue

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 résoudre le problème de la longue traîne dans les scénarios de conduite autonome ? Comment résoudre le problème de la longue traîne dans les scénarios de conduite autonome ? Jun 02, 2024 pm 02:44 PM

Hier, lors de l'entretien, on m'a demandé si j'avais posé des questions à longue traîne, j'ai donc pensé faire un bref résumé. Le problème à longue traîne de la conduite autonome fait référence aux cas extrêmes dans les véhicules autonomes, c'est-à-dire à des scénarios possibles avec une faible probabilité d'occurrence. Le problème perçu de la longue traîne est l’une des principales raisons limitant actuellement le domaine de conception opérationnelle des véhicules autonomes intelligents à véhicule unique. L'architecture sous-jacente et la plupart des problèmes techniques de la conduite autonome ont été résolus, et les 5 % restants des problèmes à longue traîne sont progressivement devenus la clé pour restreindre le développement de la conduite autonome. Ces problèmes incluent une variété de scénarios fragmentés, de situations extrêmes et de comportements humains imprévisibles. La « longue traîne » des scénarios limites dans la conduite autonome fait référence aux cas limites dans les véhicules autonomes (VA). Les cas limites sont des scénarios possibles avec une faible probabilité d'occurrence. ces événements rares

Comment annuler la suppression de l'écran d'accueil sur iPhone Comment annuler la suppression de l'écran d'accueil sur iPhone Apr 17, 2024 pm 07:37 PM

Vous avez supprimé quelque chose d'important de votre écran d'accueil et vous essayez de le récupérer ? Vous pouvez remettre les icônes d’applications à l’écran de différentes manières. Nous avons discuté de toutes les méthodes que vous pouvez suivre et remettre l'icône de l'application sur l'écran d'accueil. Comment annuler la suppression de l'écran d'accueil sur iPhone Comme nous l'avons mentionné précédemment, il existe plusieurs façons de restaurer cette modification sur iPhone. Méthode 1 – Remplacer l'icône de l'application dans la bibliothèque d'applications Vous pouvez placer une icône d'application sur votre écran d'accueil directement à partir de la bibliothèque d'applications. Étape 1 – Faites glisser votre doigt sur le côté pour trouver toutes les applications de la bibliothèque d'applications. Étape 2 – Recherchez l'icône de l'application que vous avez supprimée précédemment. Étape 3 – Faites simplement glisser l'icône de l'application de la bibliothèque principale vers le bon emplacement sur l'écran d'accueil. Voici le schéma d'application

Le rôle et l'application pratique des symboles fléchés en PHP Le rôle et l'application pratique des symboles fléchés en PHP Mar 22, 2024 am 11:30 AM

Le rôle et l'application pratique des symboles fléchés en PHP En PHP, le symbole fléché (->) est généralement utilisé pour accéder aux propriétés et méthodes des objets. Les objets sont l'un des concepts de base de la programmation orientée objet (POO) en PHP. Dans le développement actuel, les symboles fléchés jouent un rôle important dans le fonctionnement des objets. Cet article présentera le rôle et l'application pratique des symboles fléchés et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. 1. Le rôle du symbole flèche pour accéder aux propriétés d'un objet. Le symbole flèche peut être utilisé pour accéder aux propriétés d'un objet. Quand on instancie une paire

Du débutant au compétent : explorez différents scénarios d'application de la commande Linux tee Du débutant au compétent : explorez différents scénarios d'application de la commande Linux tee Mar 20, 2024 am 10:00 AM

La commande Linuxtee est un outil de ligne de commande très utile qui peut écrire la sortie dans un fichier ou envoyer la sortie à une autre commande sans affecter la sortie existante. Dans cet article, nous explorerons en profondeur les différents scénarios d'application de la commande Linuxtee, du débutant au compétent. 1. Utilisation de base Tout d'abord, jetons un coup d'œil à l'utilisation de base de la commande tee. La syntaxe de la commande tee est la suivante : tee[OPTION]...[FILE]...Cette commande lira les données de l'entrée standard et enregistrera les données dans

Découvrez les avantages et les scénarios d'application du langage Go Découvrez les avantages et les scénarios d'application du langage Go Mar 27, 2024 pm 03:48 PM

Le langage Go est un langage de programmation open source développé par Google et lancé pour la première fois en 2007. Il est conçu pour être un langage simple, facile à apprendre, efficace et hautement simultané, et est favorisé par de plus en plus de développeurs. Cet article explorera les avantages du langage Go, présentera quelques scénarios d'application adaptés au langage Go et donnera des exemples de code spécifiques. Avantages : Forte concurrence : le langage Go prend en charge de manière intégrée les threads-goroutine légers, qui peuvent facilement implémenter une programmation simultanée. Goroutin peut être démarré en utilisant le mot-clé go

Avez-vous utilisé ces outils de tests de résistance pour les systèmes Linux ? Avez-vous utilisé ces outils de tests de résistance pour les systèmes Linux ? Mar 21, 2024 pm 04:12 PM

En tant que personnel d'exploitation et de maintenance, avez-vous déjà été confronté à ce scénario ? Vous devez utiliser des outils pour tester l'utilisation élevée du processeur ou de la mémoire du système afin de déclencher des alarmes, ou tester les capacités de concurrence du service via des tests de résistance. En tant qu'ingénieur d'exploitation et de maintenance, vous pouvez également utiliser ces commandes pour reproduire des scénarios de panne. Ensuite, cet article peut vous aider à maîtriser les commandes et outils de test couramment utilisés. 1. Introduction Dans certains cas, afin de localiser et de reproduire des problèmes dans le projet, des outils doivent être utilisés pour effectuer des tests de résistance systématiques afin de simuler et de restaurer des scénarios de pannes. À l’heure actuelle, les outils de tests ou de tests de résistance deviennent particulièrement importants. Nous explorerons ensuite l’utilisation de ces outils selon différents scénarios. 2. Outils de test 2.1 Outil de limitation de vitesse du réseau tctc est un outil de ligne de commande utilisé pour ajuster les paramètres réseau sous Linux et peut être utilisé pour simuler divers réseaux.

La large application de Linux dans le domaine du cloud computing La large application de Linux dans le domaine du cloud computing Mar 20, 2024 pm 04:51 PM

La large application de Linux dans le domaine du cloud computing Avec le développement et la vulgarisation continus de la technologie du cloud computing, Linux, en tant que système d'exploitation open source, joue un rôle important dans le domaine du cloud computing. En raison de leur stabilité, de leur sécurité et de leur flexibilité, les systèmes Linux sont largement utilisés dans diverses plates-formes et services de cloud computing, fournissant une base solide pour le développement de la technologie du cloud computing. Cet article présentera le large éventail d'applications de Linux dans le domaine du cloud computing et donnera des exemples de code spécifiques. 1. Technologie de virtualisation d'applications de Linux dans la plate-forme de cloud computing Technologie de virtualisation

Comprendre les horodatages MySQL : fonctions, fonctionnalités et scénarios d'application Comprendre les horodatages MySQL : fonctions, fonctionnalités et scénarios d'application Mar 15, 2024 pm 04:36 PM

L'horodatage MySQL est un type de données très important, qui peut stocker la date, l'heure ou la date plus l'heure. Dans le processus de développement actuel, l'utilisation rationnelle des horodatages peut améliorer l'efficacité des opérations de base de données et faciliter les requêtes et les calculs liés au temps. Cet article abordera les fonctions, les fonctionnalités et les scénarios d'application des horodatages MySQL, et les expliquera avec des exemples de code spécifiques. 1. Fonctions et caractéristiques des horodatages MySQL Il existe deux types d'horodatages dans MySQL, l'un est TIMESTAMP

See all articles