Heim Backend-Entwicklung PHP-Tutorial Lösung für die gleitende Rückkehr durch Gesten im mobilen Vue-Terminal

Lösung für die gleitende Rückkehr durch Gesten im mobilen Vue-Terminal

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

Mit der Beliebtheit mobiler Geräte gewöhnen sich immer mehr Benutzer daran, Gesten zum Wechseln zwischen Seiten zu verwenden. In der Vue-Entwicklung verwendet die auf Vue Router basierende Seitenwechselmethode im Allgemeinen die Push- und Ersetzungsmethoden des Routings. Der auf diese Weise implementierte Seitenwechsel weist jedoch gewisse Probleme auf, wenn die mobile Geste zurückgleitet. In diesem Artikel wird erläutert, wie das Problem der mobilen Gesten-Gleitrückgabe in der Vue-Entwicklung gelöst werden kann.

Um das Problem der gleitenden Gestenrückgabe auf dem mobilen Endgerät zu lösen, müssen wir das Vue-Plug-In Vue-Touch und das Vue-Router-Plug-In verwenden. Das Vue-Touch-Plug-In ist Vues Kapselung mobiler Gestenoperationen und kann Gestenoperationen auf Mobilgeräten erkennen, z. B. Wischen nach links, Wischen nach rechts usw. Das Vue-Router-Plug-In ist ein offiziell von Vue bereitgestelltes Plug-In für die Seitenrouting-Verwaltung.

Zuerst müssen wir die Plugins vue-touch und vue-router installieren. Es kann über den npm-Befehl installiert werden:

npm install vue-touch vue-router --save
Nach dem Login kopieren

Nach der Installation des Plug-Ins müssen wir diese beiden Plug-Ins importieren und in der Hauptprogrammdatei registrieren:

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

Vue.use(VueTouch);
Vue.use(VueRouter);
Nach dem Login kopieren

Als nächstes haben wir in der Routing-Konfiguration von Vue Router Sie müssen einen globalen Frontschutz hinzufügen, um zu bestimmen, ob der Benutzer durch Gesten zurückgleitet oder auf die Zurück-Schaltfläche klickt, um zurückzukehren, wenn die Seite wechselt. Im globalen Frontschutz können wir entscheiden, ob wir mit einer Gestenbewegung zurückkehren oder auf die Schaltfläche „Zurück“ klicken, indem wir die Eingaberichtung der Route beurteilen:

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();
});
Nach dem Login kopieren

Im globalen Frontschutz beurteilen wir zunächst, ob die Eingaberichtung der Route ist Mit einer Geste schieben Sie zurück (Richtung „Zurück“) oder klicken Sie auf die Schaltfläche „Zurück“, um zurückzukehren. Wenn die Gestenrutsche zurückkehrt, setzen wir den Richtungswert auf leer zurück und stellen die Seitenwechselanimation so ein, dass sie von rechts nach links gleitet. Wenn Sie durch Klicken auf die Schaltfläche „Zurück“ zurückkehren, stellen wir die Seitenwechselanimation so ein, dass sie von links nach rechts gleitet, und simulieren das Klicken auf die Schaltfläche „Zurück“ über die Methode window.history.pushState.

Schließlich müssen wir in jeder Seitenkomponente von Vue das Vue-Touch-Plug-In verwenden, um das Gesten-Schiebeereignis des Mobilgeräts abzuhören und basierend auf dem Gesten-Schieben zu bestimmen, ob die Geste zurückkehrt oder zur nächsten Seite gleitet Gleitweg. In der Seitenkomponente können wir die Swipe-Methode des Vue-Touch-Plug-Ins verwenden, um auf linke und rechte Gleitereignisse zu warten:

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]);
      }
    }
  }
};
Nach dem Login kopieren

In der montierten Lebenszyklusfunktion der Seitenkomponente können wir die $watch-Methode verwenden, um Achten Sie auf Änderungen in der Seitenwechselanimation. Wenn sich die Seitenwechselanimation in ein Schieben von rechts nach links ändert, rufen wir die Go-Methode auf, um eine Gesten-Slide-Return-Bewegung durchzuführen. Wenn sich die Seitenwechselanimation in ein Schieben von links nach rechts ändert, rufen wir die go-Methode auf, um das Schieben mit der Geste zur nächsten Seite durchzuführen.

Bei der Go-Methode berechnen wir zunächst die Gleitstrecke verschiedener Bildschirme des Mobilgeräts. Dann bestimmen wir basierend auf der Richtung des Schiebens, ob die Geste zurückgleitet oder zur nächsten Seite gleitet. Wenn es sich um eine gleitende Gestenrückgabe handelt und der Index der aktuellen Seite größer als 1 ist, rufen wir die Methode $router.back auf, um eine gleitende Gestenrückgabe durchzuführen. Wenn die Geste zum Wechseln zur nächsten Seite verwendet wird und der Index der aktuellen Seite kleiner als die Anzahl der Seiten in der Routing-Konfiguration ist, rufen wir die Methode $router.push auf, um die Geste zum Wechseln zur nächsten Seite auszuführen.

Durch die oben genannten Vorgänge können wir das Problem der gleitenden Rückkehr mobiler Gesten in der Vue-Entwicklung effektiv lösen. Mit den Plug-Ins vue-touch und vue-router können wir das Gesten-Gleitereignis des Mobilgeräts einfach überwachen und anhand der Gleitstrecke bestimmen, ob das Gesten-Gleiten zurückkehrt oder die Geste zur nächsten Seite wechselt. Auf diese Weise kann das Benutzererlebnis auf dem mobilen Endgerät verbessert und der Seitenwechsel reibungsloser gestaltet werden.

Das obige ist der detaillierte Inhalt vonLösung für die gleitende Rückkehr durch Gesten im mobilen Vue-Terminal. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

In meiner Vue-Anwendung ist der Vue-Router-Fehler „NavigationDuplicated: Vermeidung redundanter Navigation zum aktuellen Standort' aufgetreten. Wie kann ich ihn beheben? In meiner Vue-Anwendung ist der Vue-Router-Fehler „NavigationDuplicated: Vermeidung redundanter Navigation zum aktuellen Standort' aufgetreten. Wie kann ich ihn beheben? Jun 24, 2023 pm 02:20 PM

Der Vue-Router-Fehler „NavigationDuplicated:Avoidedredundantnavigationtocurrentlocation“ ist in der Vue-Anwendung aufgetreten – wie kann er behoben werden? Vue.js wird als schnelles und flexibles JavaScript-Framework in der Front-End-Anwendungsentwicklung immer beliebter. VueRouter ist eine Codebibliothek von Vue.js, die für die Routing-Verwaltung verwendet wird. Allerdings manchmal

Ein Artikel, der das Vue-Routing im Detail erklärt: vue-router Ein Artikel, der das Vue-Routing im Detail erklärt: vue-router Sep 01, 2022 pm 07:43 PM

In diesem Artikel erhalten Sie eine detaillierte Erklärung des Vue-Routers im Vue-Familien-Bucket und erfahren mehr über die relevanten Routing-Kenntnisse. Ich hoffe, er wird Ihnen hilfreich sein!

Vue und Vue-Router: Wie teilt man Daten zwischen Komponenten? Vue und Vue-Router: Wie teilt man Daten zwischen Komponenten? Dec 17, 2023 am 09:17 AM

Vue und Vue-Router: Wie teilt man Daten zwischen Komponenten? Einführung: Vue ist ein beliebtes JavaScript-Framework zum Erstellen von Benutzeroberflächen. Vue-Router ist der offizielle Routing-Manager von Vue, der zur Implementierung von Single-Page-Anwendungen verwendet wird. In Vue-Anwendungen sind Komponenten die Grundeinheiten zum Erstellen von Benutzeroberflächen. In vielen Fällen müssen wir Daten zwischen verschiedenen Komponenten austauschen. In diesem Artikel werden einige Methoden vorgestellt, die Ihnen beim Datenaustausch in Vue und Vue-Router helfen

Wie kann das Problem „Fehler: Redundante Navigation zum aktuellen Standort vermieden' bei Verwendung von Vue-Router in der Vue-Anwendung gelöst werden? Wie kann das Problem „Fehler: Redundante Navigation zum aktuellen Standort vermieden' bei Verwendung von Vue-Router in der Vue-Anwendung gelöst werden? Jun 24, 2023 pm 05:39 PM

Bei der Verwendung von vue-router in einer Vue-Anwendung erscheint manchmal die Fehlermeldung „Fehler: Vermeidung redundanter Navigation zum aktuellen Standort“. Diese Fehlermeldung bedeutet „Vermeidung redundanter Navigation zum aktuellen Standort“ und wird normalerweise durch wiederholtes Klicken auf denselben Link oder die Verwendung desselben Routingpfads verursacht. Wie kann man dieses Problem lösen? Verwenden Sie beim Definieren des Routers den genauen Modifikator

Wie kann das Problem „Fehler: Ungültige Routenkomponente: xxx' gelöst werden, wenn vue-router in einer Vue-Anwendung verwendet wird? Wie kann das Problem „Fehler: Ungültige Routenkomponente: xxx' gelöst werden, wenn vue-router in einer Vue-Anwendung verwendet wird? Jun 25, 2023 am 11:52 AM

Vue ist ein beliebtes Front-End-Framework, mit dem Entwickler schnell effiziente, wiederverwendbare Webanwendungen erstellen können. Vue-router ist ein Plug-in im Vue-Framework, das Entwicklern hilft, das Routing und die Navigation von Anwendungen einfach zu verwalten. Bei der Verwendung von Vue-Router tritt jedoch manchmal ein häufiger Fehler auf: „Error:Invalidroutecomponent:xxx“. In diesem Artikel werden die Ursachen und Lösungen für diesen Fehler erläutert. Der Grund liegt in Vu

Wie kann das Problem „Fehler: Die asynchrone Komponente konnte nicht aufgelöst werden: xxx' gelöst werden, wenn vue-router in einer Vue-Anwendung verwendet wird? Wie kann das Problem „Fehler: Die asynchrone Komponente konnte nicht aufgelöst werden: xxx' gelöst werden, wenn vue-router in einer Vue-Anwendung verwendet wird? Jun 24, 2023 pm 06:28 PM

Die Verwendung von Vue-Router ist eine gängige Methode zur Implementierung der Routing-Steuerung in Vue-Anwendungen. Bei Verwendung von Vue-Router tritt jedoch manchmal der Fehler „Fehler: Failedtoresolveasynccomponent:xxx“ auf, der durch einen asynchronen Komponentenladefehler verursacht wird. In diesem Artikel werden wir dieses Problem untersuchen und Lösungen anbieten. Verstehen Sie das Prinzip des asynchronen Ladens von Komponenten. In Vue können Komponenten synchron oder asynchron erstellt werden.

Vue-Router: Wie verwende ich Routing-Metainformationen zum Verwalten von Routen? Vue-Router: Wie verwende ich Routing-Metainformationen zum Verwalten von Routen? Dec 18, 2023 pm 01:21 PM

Vue-Router: Wie verwende ich Routing-Metainformationen zum Verwalten von Routen? Einführung: Vue-Router ist der offizielle Routing-Manager von Vue.js, der uns dabei helfen kann, schnell Single-Page-Anwendungen (SPA) zu erstellen. Zusätzlich zu den gängigen Routing-Funktionen unterstützt Vue-Router auch die Verwendung von Routing-Metainformationen zur Verwaltung und Steuerung des Routings. Routing-Metainformationen sind ein benutzerdefiniertes Attribut, das an eine Route angehängt werden kann und uns dabei helfen kann, eine spezielle Logik oder Berechtigungskontrolle zu implementieren. 1. Was sind Routing-Metainformationen? Die Routing-Metainformationen sind

Vue-Fehler beheben: Vue-Router kann nicht korrekt für den Routensprung verwendet werden Vue-Fehler beheben: Vue-Router kann nicht korrekt für den Routensprung verwendet werden Aug 17, 2023 pm 10:29 PM

Beheben Sie den Vue-Fehler: Vue-Router kann nicht korrekt für Routensprünge verwendet werden. Wenn wir Vue zum Entwickeln von Front-End-Projekten verwenden, verwenden wir häufig Vue-Router für Seitenrouting-Sprünge. Bei der Verwendung von Vue-Router können jedoch manchmal Fehler auftreten, die dazu führen, dass die Route nicht normal springt. Dieser Artikel beantwortet diese Frage und gibt entsprechende Lösungen. Bevor wir vue-router verwenden, müssen wir zunächst sicherstellen, dass vue-rou korrekt installiert wurde

See all articles