


Das mobile Terminal vue2.0 implementiert Pull-Down-Aktualisierungs- und Pull-Up-Ladefunktionen
Dieses Mal werde ich Ihnen die Pulldown-Aktualisierungs- und Pull-Up-Ladefunktionen auf dem mobilen Vue2.0-Terminal vorstellen. Was sind die Vorsichtsmaßnahmen für die Implementierung der Pulldown-Aktualisierung und des Pull-Ups? Laden Sie Funktionen auf dem mobilen Endgerät vue2.0 hoch. Das Folgende ist ein praktischer Fall, schauen wir uns das an.
Gehen Sie direkt zum Code, wenn Sie ihn nicht verstehen. Ich werde Ihnen unten erklären, wie Sie ihn verwenden.
<template lang="html"> <p class="yo-scroll" :class="{'down':(state===0),'up':(state==1),refresh:(state===2),touch:touching}" @touchstart="touchStart($event)" @touchmove="touchMove($event)" @touchend="touchEnd($event)" @scroll="(onInfinite || infiniteLoading) ? onScroll($event) : undefined"> <section class="inner" :style="{ transform: 'translate3d(0, ' + top + 'px, 0)' }"> <header class="pull-refresh"> <slot name="pull-refresh"> <span class="down-tip">下拉更新</span> <span class="up-tip">松开更新</span> <span class="refresh-tip">更新中</span> </slot> </header> <slot></slot> <footer class="load-more"> <slot name="load-more"> <span>加载中……</span> </slot> </footer> </section> </p> </template> <script> export default { props: { offset: { type: Number, default: 40 }, enableInfinite: { type: Boolean, default: true }, enableRefresh: { type: Boolean, default: true }, onRefresh: { type: Function, default: undefined, required: false }, onInfinite: { type: Function, default: undefined, require: false } }, data() { return { top: 0, state: 0, startY: 0, touching: false, infiniteLoading: false } }, methods: { touchStart(e) { this.startY = e.targetTouches[0].pageY this.startScroll = this.$el.scrollTop || 0 this.touching = true }, touchMove(e) { if (!this.enableRefresh || this.$el.scrollTop > 0 || !this.touching) { return } let diff = e.targetTouches[0].pageY - this.startY - this.startScroll if (diff > 0) e.preventDefault() this.top = Math.pow(diff, 0.8) + (this.state === 2 ? this.offset : 0) if (this.state === 2) { // in refreshing return } if (this.top >= this.offset) { this.state = 1 } else { this.state = 0 } }, touchEnd(e) { if (!this.enableRefresh) return this.touching = false if (this.state === 2) { // in refreshing this.state = 2 this.top = this.offset return } if (this.top >= this.offset) { // do refresh this.refresh() } else { // cancel refresh this.state = 0 this.top = 0 } }, refresh() { this.state = 2 this.top = this.offset this.onRefresh(this.refreshDone) }, refreshDone() { this.state = 0 this.top = 0 }, infinite() { this.infiniteLoading = true this.onInfinite(this.infiniteDone) }, infiniteDone() { this.infiniteLoading = false }, onScroll(e) { if (!this.enableInfinite || this.infiniteLoading) { return } let outerHeight = this.$el.clientHeight let innerHeight = this.$el.querySelector('.inner').clientHeight let scrollTop = this.$el.scrollTop let ptrHeight = this.onRefresh ? this.$el.querySelector('.pull-refresh').clientHeight : 0 let infiniteHeight = this.$el.querySelector('.load-more').clientHeight let bottom = innerHeight - outerHeight - scrollTop - ptrHeight if (bottom < infiniteHeight) this.infinite() } } } </script> <style> .yo-scroll { position: absolute; top: 2.5rem; right: 0; bottom: 0; left: 0; overflow: auto; -webkit-overflow-scrolling: touch; background-color: #ddd } .yo-scroll .inner { position: absolute; top: -2rem; width: 100%; transition-duration: 300ms; } .yo-scroll .pull-refresh { position: relative; left: 0; top: 0; width: 100%; height: 2rem; display: flex; align-items: center; justify-content: center; } .yo-scroll.touch .inner { transition-duration: 0ms; } .yo-scroll.down .down-tip { display: block; } .yo-scroll.up .up-tip { display: block; } .yo-scroll.refresh .refresh-tip { display: block; } .yo-scroll .down-tip, .yo-scroll .refresh-tip, .yo-scroll .up-tip { display: none; } .yo-scroll .load-more { height: 3rem; display: flex; align-items: center; justify-content: center; } </style>
Kopieren Sie die obige Komponente, speichern Sie sie als Komponente mit dem Suffix .vue, fügen Sie sie unter Ihre Komponente ein und führen Sie sie dann auf der Seite ein
Ich habe zitiert: Es gibt Kommentare, bitte hinterlassen Sie mir eine Nachricht, wenn Sie Fragen haben!
<template> <p> <v-scroll :on-refresh="onRefresh" :on-infinite="onInfinite"> <ul> <li v-for="(item,index) in listdata" >{{item.name}}</li> <li v-for="(item,index) in downdata" >{{item.name}}</li> </ul> </v-scroll> </p> </template> <script> import Scroll from './y-scroll/scroll'; export default{ data () { return { counter : 1, //默认已经显示出15条数据 count等于一是让从16条开始加载 num : 15, // 一次显示多少条 pageStart : 0, // 开始页数 pageEnd : 0, // 结束页数 listdata: [], // 下拉更新数据存放数组 downdata: [] // 上拉更多的数据存放数组 } }, mounted : function(){ this.getList(); }, methods: { getList(){ let vm = this; vm.$http.get('https://api.github.com/repos/typecho-fans/plugins/contents/').then((response) => { vm.listdata = response.data.slice(0,15); }, (response) => { console.log('error'); }); }, onRefresh(done) { this.getList(); done() // call done }, onInfinite(done) { let vm = this; vm.$http.get('https://api.github.com/repos/typecho-fans/plugins/contents/').then((response) => { vm.counter++; vm.pageEnd = vm.num * vm.counter; vm.pageStart = vm.pageEnd - vm.num; let arr = response.data; let i = vm.pageStart; let end = vm.pageEnd; for(; i<end; i++){ let obj ={}; obj["name"] = arr[i].name; vm.downdata.push(obj); if((i + 1) >= response.data.length){ this.$el.querySelector('.load-more').style.display = 'none'; return; } } done() // call done }, (response) => { console.log('error'); }); } }, components : { 'v-scroll': Scroll } } </script>
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Was Sie bei der Frontend-Entwicklung von Vue beachten müssen
Wie man es macht Anmeldekontrollfunktion in vue.js
Das obige ist der detaillierte Inhalt vonDas mobile Terminal vue2.0 implementiert Pull-Down-Aktualisierungs- und Pull-Up-Ladefunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Wenn Sie auf Ihrem iPhone im Internet surfen, werden die geladenen Inhalte vorübergehend gespeichert, solange die Browser-App geöffnet bleibt. Da die Website jedoch regelmäßig Inhalte aktualisiert, ist die Aktualisierung der Seite eine effektive Möglichkeit, alte Daten zu löschen und die neuesten veröffentlichten Inhalte anzuzeigen. So verfügen Sie immer über die neuesten Informationen und Erfahrungen. Wenn Sie die Seite auf dem iPhone aktualisieren möchten, erklärt Ihnen der folgende Beitrag alle Methoden. So aktualisieren Sie Webseiten in Safari [4 Methoden] Es gibt mehrere Methoden, um die Seiten zu aktualisieren, die Sie in der Safari-App auf dem iPhone anzeigen. Methode 1: Verwenden Sie die Schaltfläche „Aktualisieren“. Der einfachste Weg, eine in Safari geöffnete Seite zu aktualisieren, besteht darin, die Option „Aktualisieren“ in der Registerkartenleiste Ihres Browsers zu verwenden. Wenn Safa

Funktioniert die F5-Taste auf Ihrem Windows 11/10-PC nicht richtig? Die F5-Taste wird normalerweise verwendet, um den Desktop oder Explorer zu aktualisieren oder eine Webseite neu zu laden. Einige unserer Leser haben jedoch berichtet, dass die F5-Taste ihre Computer aktualisiert und nicht richtig funktioniert. Wie aktiviere ich die F5-Aktualisierung in Windows 11? Um Ihren Windows-PC zu aktualisieren, drücken Sie einfach die Taste F5. Auf einigen Laptops oder Desktops müssen Sie möglicherweise die Tastenkombination Fn+F5 drücken, um den Aktualisierungsvorgang abzuschließen. Warum funktioniert die F5-Aktualisierung nicht? Wenn das Drücken der F5-Taste Ihren Computer nicht aktualisiert oder Probleme unter Windows 11/10 auftreten, kann dies daran liegen, dass die Funktionstasten gesperrt sind. Weitere mögliche Ursachen sind die Tastatur oder die F5-Taste

Bei der täglichen Nutzung eines Netzwerks kommt es häufig zu Seitenaktualisierungen. Wenn wir eine Webseite besuchen, treten manchmal Probleme auf, z. B. wenn die Webseite nicht geladen wird oder nicht ordnungsgemäß angezeigt wird. Zu diesem Zeitpunkt entscheiden wir uns normalerweise dafür, die Seite zu aktualisieren, um das Problem zu lösen. Wie kann die Seite also schnell aktualisiert werden? Lassen Sie uns die Tastenkombinationen für die Seitenaktualisierung besprechen. Die Tastenkombination für die Seitenaktualisierung ist eine Methode zum schnellen Aktualisieren der aktuellen Webseite über Tastaturoperationen. In verschiedenen Betriebssystemen und Browsern können die Tastenkombinationen für die Seitenaktualisierung unterschiedlich sein. Im Folgenden verwenden wir das gebräuchliche W

Die Lösung für das Verschwinden des Werts nach der Aktualisierung der Reaktionsseite: 1. Aktualisieren Sie die Seite und prüfen Sie, ob die Daten im Status gelöscht werden. 2. Verwenden Sie „const name = location.query.name; const id = location.query; .id;“-Methode Durch Hinzufügen von Parametern zum Sprunglink können Sie die Parameter übergeben und die Seite aktualisieren, ohne dass die Daten verloren gehen.

Was ist die Tastaturaktualisierungstaste? Mit der Entwicklung der Computertechnologie ist die Tastatur zu einem unverzichtbaren Gerät in unserer täglichen Arbeit und unserem Leben geworden. Die Funktion der Tastatur geht weit über die Eingabe von Text hinaus. Sie dient auch häufig der Bedienung verschiedener Funktionen des Computers und der Verbesserung unserer Arbeitseffizienz. Mithilfe der Tastaturkürzel können wir verschiedene Vorgänge schneller und bequemer ausführen. Bei der täglichen Nutzung von Computern kommt es häufig vor, dass wir die Seite aktualisieren müssen. Wenn wir eine Webseite öffnen oder Software ausführen, friert die Seite manchmal ein oder kann nicht geladen werden. Aktualisieren Sie die Seite zu diesem Zeitpunkt.

Wie verwende ich Routing, um Seitenaktualisierung und Cache-Steuerung in einem Vue-Projekt zu implementieren? In der Vue-Projektentwicklung ist es eine sehr häufige Anforderung, Routing zur Implementierung der Seitenaktualisierung und Cache-Steuerung zu verwenden. In diesem Artikel wird erläutert, wie Sie mithilfe von Routing die Seitenaktualisierung und Cache-Steuerung in Vue-Projekten implementieren und entsprechende Codebeispiele angeben. Routing-Konfiguration Zunächst müssen Sie vue-router für die Routing-Konfiguration im Vue-Projekt verwenden. vue-router kann über npm installiert und in main.js eingeführt und konfiguriert werden. wichtig

Das Aktualisieren ist ein Vorgang, den wir bei der Verwendung von Computern häufig durchführen. Durch das Aktualisieren können wir unsere Einstellungen für Benutzeroberfläche, Anzeige, Symbole und andere Eigenschaften schnell anzeigen. Bei der Verwendung von win11 gibt es jedoch keine Aktualisierung. Dies liegt daran, dass win11 ein Menü hinzugefügt wurde, das eingegeben werden muss, bevor es aktualisiert werden kann. So klicken Sie in Win11 mit der rechten Maustaste auf „Aktualisieren“ 1. Im Win11-System wurde das Rechtsklick-Menü geändert und wir können „Aktualisieren“ nicht finden, wenn wir mit der rechten Maustaste auf eine leere Stelle klicken. 2. Stattdessen müssen wir unten im Rechtsklick-Menü „showmoreoptions“ finden. 3. Nach der Eingabe von „showmoreoptions“ finden Sie „refresh“. 4. Außerdem müssen wir zum Aktualisieren eigentlich keinen Rechtsklick verwenden

Als einige Benutzer kürzlich das Win10-System verwendeten, stellten sie fest, dass der Desktop manchmal automatisch aktualisiert wurde, ohne anzuhalten, und dass er auch aktualisiert wurde, während wir Videos ansahen und Musik hörten, was die Benutzererfahrung stark beeinträchtigte Wenn der Computer eingeschaltet ist und das drahtlose Netzwerk aktualisiert wird, erfahren Sie im folgenden Editor, wie Sie mit der unendlichen Aktualisierung des Win10-Desktops umgehen, wenn dieser eingeschaltet ist. Was soll ich tun, wenn der Computer eingeschaltet und das drahtlose Netzwerk aktualisiert ist? 1. Nachdem wir den Desktop aufgerufen haben, klicken Sie mit der Maus auf das Menüleistensymbol. 2. Wählen Sie in der geöffneten Oberfläche [Ressourcenmanager] aus. 3. Nachdem Sie die Seite aufgerufen haben, klicken Sie auf [Windows Task-Manager] und wählen Sie [Task beenden]. 4. Kehren Sie anschließend zum Desktop zurück und klicken Sie mit der rechten Maustaste, um die Menüleiste auszuwählen. 5. Zu diesem Zeitpunkt klickt jeder auf [Glück]
