


Solution au retour coulissant gestuel dans le terminal mobile Vue
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
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);
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(); });
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]); } } } };
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

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

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 ? 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

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

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

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 ? 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é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é
