Maison développement back-end tutoriel php Solution au retour coulissant gestuel dans le terminal mobile Vue

Solution au retour coulissant gestuel dans le terminal mobile Vue

Jun 30, 2023 pm 02:01 PM
vue-router touch事件 transition动画

Avec la popularité des appareils mobiles, de plus en plus d'utilisateurs sont habitués à utiliser le glissement gestuel pour basculer entre les pages. Dans le développement de Vue, la méthode de changement de page basée sur Vue Router utilise généralement les méthodes de routage push et replace. Cependant, le changement de page ainsi mis en œuvre présente certains problèmes lorsque le geste mobile recule. Cet article explique comment résoudre le problème de retour coulissant des gestes mobiles dans le développement de Vue.

Afin de résoudre le problème du retour coulissant gestuel sur le terminal mobile, nous devons utiliser le plug-in Vue vue-touch et le plug-in vue-router. Le plug-in vue-touch est l'encapsulation par Vue des opérations gestuelles mobiles et peut reconnaître les opérations gestuelles sur les appareils mobiles, telles que le balayage vers la gauche, le balayage vers la droite, etc. Le plug-in vue-router est un plug-in officiellement fourni par Vue pour la gestion du routage des pages.

Tout d'abord, nous devons installer les plugins vue-touch et vue-router. Il peut être installé via la commande npm :

npm install vue-touch vue-router --save
Copier après la connexion

Après avoir installé le plug-in, nous devons importer et enregistrer ces deux plug-ins dans le fichier du programme principal :

import Vue from 'vue';
import VueTouch from 'vue-touch';
import VueRouter from 'vue-router';

Vue.use(VueTouch);
Vue.use(VueRouter);
Copier après la connexion

Ensuite, dans la configuration de routage de Vue Router, nous besoin d'ajouter un global Une garde avant est fournie pour déterminer si l'utilisateur revient en arrière par des gestes ou clique sur le bouton de retour pour revenir lorsque la page change. Dans la garde avant globale, nous pouvons décider de revenir avec un geste coulissant ou de cliquer sur le bouton de retour en jugeant le sens d'entrée de l'itinéraire :

const router = new VueRouter({
  routes: [
    // 路由配置
  ]
});

router.beforeEach((to, from, next) => {
  const direction = router.app.$options.direction || '';

  if (direction === 'back') {
    // 手势滑动返回
    router.app.$options.direction = '';
    router.app.$options.transition = 'slide-right';
  } else {
    // 点击返回按钮返回
    router.app.$options.transition = 'slide-left';
    window.history.pushState(null, '', location.href);
  }

  next();
});
Copier après la connexion

Dans la garde avant globale, nous jugeons d'abord que la direction d'entrée de la route est un geste de retour par glissement (direction comme « retour ») ou cliquez sur le bouton de retour pour revenir. Si le glissement gestuel revient, nous réinitialisons la valeur de direction à vide et définissons l'animation de changement de page pour qu'elle glisse de droite à gauche. Si vous revenez en cliquant sur le bouton de retour, nous définissons l'animation de changement de page pour qu'elle glisse de gauche à droite et simulons le clic du bouton de retour via la méthode window.history.pushState.

Enfin, dans chaque composant de page de Vue, nous devons utiliser le plug-in vue-touch pour écouter l'événement de glissement gestuel de l'appareil mobile et déterminer si le glissement gestuel revient ou glisse vers la page suivante en fonction du distance de glissement. Dans le composant page, nous pouvons utiliser la méthode swipe du plug-in vue-touch pour écouter les événements de glissement gauche et droit :

export default {
  mounted() {
    this.$watch('$options.transition', (to, from) => {
      if (to === 'slide-right') {
        this.go(-1);
      } else if (to === 'slide-left') {
        this.go(1);
      }
    });
  },
  methods: {
    go(delta) {
      const distance = window.innerWidth * 0.3; // 适应不同设备的滑动距离

      if (delta === -1 && this.$route.meta.index > 1) {
        // 手势滑动返回到上一页面
        this.$router.back();
      } else if (delta === 1 && this.$route.meta.index < this.$router.options.routes.length) {
        // 手势滑动到下一页面
        this.$router.push(this.$router.options.routes[this.$route.meta.index + 1]);
      }
    }
  }
};
Copier après la connexion

Dans la fonction de cycle de vie montée du composant page, nous pouvons utiliser la méthode $watch pour écoutez les changements dans l'animation de changement de page. Lorsque l'animation de changement de page se transforme en glissement de droite à gauche, nous appelons la méthode go pour effectuer un retour glissant gestuel. Lorsque l'animation de changement de page se transforme en glissement de gauche à droite, nous appelons la méthode go pour effectuer un glissement gestuel vers la page suivante.

Dans la méthode go, nous calculons d'abord la distance de glissement des différents écrans de l'appareil mobile. Ensuite, nous déterminons si le geste recule ou si le geste glisse vers la page suivante en fonction de la direction de la diapositive. S'il s'agit d'un retour glissant gestuel, et que l'index de la page courante est supérieur à 1, nous appelons la méthode $router.back pour effectuer un retour glissant gestuel. Si le geste est utilisé pour passer à la page suivante et que l'index de la page actuelle est inférieur au nombre de pages dans la configuration de routage, nous appelons la méthode $router.push pour effectuer le geste pour passer à la page suivante.

Grâce aux opérations ci-dessus, nous pouvons résoudre efficacement le problème du retour coulissant des gestes mobiles dans le développement de Vue. À l'aide des plug-ins vue-touch et vue-router, nous pouvons facilement surveiller l'événement de glissement gestuel de l'appareil mobile et déterminer si le glissement gestuel revient ou le geste glisse vers la page suivante en fonction de la distance de glissement. De cette manière, il peut améliorer l’expérience utilisateur sur le terminal mobile et rendre le changement de page plus fluide.

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)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
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)

J'ai rencontré l'erreur vue-router « NavigationDuplicate : navigation redondante évitée vers l'emplacement actuel » dans mon application Vue - comment la résoudre ? J'ai rencontré l'erreur vue-router « NavigationDuplicate : navigation redondante évitée vers l'emplacement actuel » dans mon application Vue - comment la résoudre ? Jun 24, 2023 pm 02:20 PM

L'erreur vue-router « NavigationDuplicate:Avoidedredundantnavigationtocurrentlocation » rencontrée dans l'application Vue – comment la résoudre ? Vue.js devient de plus en plus populaire dans le développement d'applications frontales en tant que framework JavaScript rapide et flexible. VueRouter est une bibliothèque de codes de Vue.js utilisée pour la gestion du routage. Cependant, parfois

Un article qui explique le routage Vue en détail : vue-router Un article qui explique le routage Vue en détail : vue-router Sep 01, 2022 pm 07:43 PM

Cet article vous donnera une explication détaillée du Vue-Router dans le bucket de la famille Vue et en apprendra davantage sur les connaissances en matière de routage. J'espère qu'il vous sera utile !

Vue et Vue-Router : Comment partager des données entre composants ? Vue et Vue-Router : Comment partager des données entre composants ? Dec 17, 2023 am 09:17 AM

Vue et Vue-Router : Comment partager des données entre composants ? Introduction : Vue est un framework JavaScript populaire pour créer des interfaces utilisateur. Vue-Router est le gestionnaire de routage officiel de Vue, utilisé pour implémenter des applications monopage. Dans les applications Vue, les composants sont les unités de base pour créer des interfaces utilisateur. Dans de nombreux cas, nous devons partager des données entre différents composants. Cet article présentera quelques méthodes pour vous aider à réaliser le partage de données dans Vue et Vue-Router, et

Comment résoudre le problème « Erreur : navigation redondante évitée vers l'emplacement actuel » lors de l'utilisation de vue-router dans l'application Vue ? Comment résoudre le problème « Erreur : navigation redondante évitée vers l'emplacement actuel » lors de l'utilisation de vue-router dans l'application Vue ? Jun 24, 2023 pm 05:39 PM

Lors de l'utilisation de vue-router dans une application Vue, le message d'erreur « Erreur : navigation redondante évitée vers l'emplacement actuel » apparaît parfois. Ce message d'erreur signifie « éviter une navigation redondante vers l'emplacement actuel » et est généralement provoqué par un clic répété sur le même lien ou par l'utilisation du même chemin de routage. Alors, comment résoudre ce problème ? Utilisez le modificateur exact lors de la définition du routeur

Comment résoudre le problème « Erreur : composant de route invalide : xxx » lors de l'utilisation de vue-router dans une application Vue ? Comment résoudre le problème « Erreur : composant de route invalide : xxx » lors de l'utilisation de vue-router dans une application Vue ? Jun 25, 2023 am 11:52 AM

Vue est un framework frontal populaire qui permet aux développeurs de créer rapidement des applications Web efficaces et réutilisables. Vue-router est un plug-in du framework Vue qui aide les développeurs à gérer facilement le routage et la navigation des applications. Cependant, lorsque vous utilisez Vue-router, vous rencontrez parfois une erreur courante : "Error:Invalidroutecomponent:xxx". Cet article expliquera les causes et les solutions à cette erreur. La raison réside dans Vu

Comment résoudre le problème « Erreur : échec de la résolution du composant asynchrone : xxx » lors de l'utilisation de vue-router dans une application Vue ? Comment résoudre le problème « Erreur : échec de la résolution du composant asynchrone : xxx » lors de l'utilisation de vue-router dans une application Vue ? Jun 24, 2023 pm 06:28 PM

L'utilisation de vue-router est un moyen courant d'implémenter le contrôle de routage dans les applications Vue. Cependant, lors de l'utilisation de vue-router, l'erreur « Erreur : Failedtoresolveasynccomponent : xxx » se produit parfois, qui est causée par une erreur de chargement de composant asynchrone. Dans cet article, nous explorerons ce problème et proposerons des solutions. Comprendre le principe du chargement asynchrone des composants. Dans Vue, les composants peuvent être créés de manière synchrone ou asynchrone.

Vue-Router : Comment utiliser les méta-informations de routage pour gérer les itinéraires ? Vue-Router : Comment utiliser les méta-informations de routage pour gérer les itinéraires ? Dec 18, 2023 pm 01:21 PM

Vue-Router : Comment utiliser les méta-informations de routage pour gérer les itinéraires ? Introduction : Vue-Router est le gestionnaire de routage officiel de Vue.js, qui peut nous aider à créer rapidement des applications monopage (SPA). En plus des fonctions de routage courantes, Vue-Router prend également en charge l'utilisation de méta-informations de routage pour gérer et contrôler le routage. Les métainformations de routage sont un attribut personnalisé qui peut être attaché à une route, ce qui peut nous aider à implémenter une logique spéciale ou un contrôle d'autorisation. 1. Qu'est-ce que les métainformations de routage ? Les méta-informations de routage sont

Résoudre l'erreur Vue : impossible d'utiliser correctement vue-router pour le saut d'itinéraire Résoudre l'erreur Vue : impossible d'utiliser correctement vue-router pour le saut d'itinéraire Aug 17, 2023 pm 10:29 PM

Résolvez l'erreur Vue : impossible d'utiliser correctement vue-router pour les sauts de routage. Lorsque nous utilisons Vue pour développer des projets frontaux, nous utilisons souvent vue-router pour les sauts de routage de pages. Cependant, nous pouvons parfois rencontrer des erreurs lors de l'utilisation de vue-router, empêchant la route de sauter normalement. Cet article répondra à cette question et donnera les solutions correspondantes. Tout d'abord, avant d'utiliser vue-router, nous devons nous assurer que vue-rou a été correctement installé

See all articles