Heim  >  Artikel  >  Web-Frontend  >  Wie verwende ich Vue, um Pulldown-Aktualisierung und Pullup-Laden zu implementieren?

Wie verwende ich Vue, um Pulldown-Aktualisierung und Pullup-Laden zu implementieren?

PHPz
PHPzOriginal
2023-06-25 18:52:275156Durchsuche

Mit der Popularität des mobilen Internets sind Pull-Down zum Aktualisieren und Pull-Up zum Laden zu einer der Standardfunktionen moderner Apps und Websites geworden. Diese beiden Interaktionsmethoden können das Benutzererlebnis und die Seitenleistung erheblich verbessern. Unter dem Vue-Framework können wir einige Plug-Ins verwenden oder selbst Code schreiben, um diese beiden Interaktionsmethoden zu erreichen.

Implementierung der Pulldown-Aktualisierung

Pulldown-Aktualisierung bedeutet, dass der Benutzer die Datenaktualisierung auslöst, indem er die Seite herunterzieht. In Vue können wir die Pulldown-Aktualisierung über alle Vue-Optionen und APIs implementieren. Der schnellste und zuverlässigste Weg ist die Verwendung von vue-pull-to.

vue-pull-to ist eine Komponente, die Pull-to-Refresh-Vorgänge in Vue implementiert, sodass wir Pull-to-Refresh ganz einfach zu Anwendungen hinzufügen können. Diese Komponente wurde vom Vue.js Summit-Lehrer Matt Maribojoc entwickelt und macht die Verwendung von vue-pull-to genauso einfach und sauber wie die Verwendung einer normalen Vue-Komponente.

Installieren Sie zunächst vue-pull-to im Projekt:

npm install vue-pull-to --save

Führen Sie dann vue-pull-to in die Komponente ein, die eine Pulldown-Aktualisierung benötigt, und registrieren Sie sie als Komponente des aktuellen Vue.

<template>
  <div>
    <pull-to @refresh="refresh" :disabled="disabled" :high-action="true">
      <div v-for="(item, index) in list" :key="index" class="item">{{ item }}</div>
    </pull-to>
  </div>
</template>

<script>
  import PullTo from 'vue-pull-to'

  export default {
    components: {
      PullTo
    },
    data() {
      return {
        list: [], // 下拉刷新的数据
        disabled: false, // 是否禁用下拉刷新
      }
    },
    methods: {
      // 下拉刷新回调事件
      refresh() {
        // 发送请求,获取最新数据
        axios.get('/getList').then(res => {
          this.list = res.data
        })
      }
    }
  }
</script>

Im obigen Code führen wir zunächst vue-pull-to ein und registrieren es als Komponente. Verwenden Sie als Nächstes das Pull-to-Tag in der Vorlage und hören Sie dessen Aktualisierungsereignis ab (dieses Ereignis wird ausgelöst, wenn der Benutzer die Seite herunterlädt). Anschließend wird in der Aktualisierungsrückruffunktion eine Anforderung an den Server gesendet, um die neuesten Daten abzurufen Weisen Sie die Daten der Liste zu, sodass nach Abschluss der Pulldown-Aktualisierung die Listendaten aktualisiert und die Seite neu gerendert wird.

Implementierung des Pull-Up-Ladens

Pull-Up-Laden erfolgt normalerweise, wenn die Seite nach unten scrollt. Wenn der Benutzer nach unten scrollt, löst die Seite automatisch den Datenladevorgang aus. In Vue können wir das Plug-In „vue-infinite-loading“ verwenden, um die Pull-up-Ladefunktion zu implementieren.

vue-infinite-loading ist ein Vue-basiertes Lade-Plugin für lange Listen, das es uns ermöglicht, beim Scrollen der Liste dynamisch Inhalte oder Daten hinzuzufügen. Es bietet zwei Möglichkeiten zum Abhören von Scroll-Ereignissen: Die erste ist die zwingende Verwendung und die zweite die komponentenbasierte Verwendung. Außerdem wird die Statusverwaltung während des Ladens und wenn keine Daten mehr vorhanden sind, unterstützt.

Installieren Sie zunächst vue-infinite-loading im Projekt:

npm install vue-infinite-loading --save

Führen Sie dann die vue-infinite-loading-Komponente in die Komponente ein, die Pull-up-Loading hinzufügen muss, und registrieren Sie sie als Komponente des aktuellen Vue.

<template>
  <div>
    <div v-for="(item, index) in list" :key="index" class="item">
      {{ item }}
    </div>
    <infinite-loading :on-infinite="onInfinite" spinner="bubbles" :distance="120">
      <div slot="no-results">没有更多了</div>
    </infinite-loading>
  </div>
</template>

<script>
  import InfiniteLoading from 'vue-infinite-loading'

  export default {
    components: {
      InfiniteLoading
    },
    data() {
      return {
        list: [], // 上拉加载的数据
        page: 1, // 当前页码
        size: 10, // 每页数量
        isLoading: false, // 是否正在加载中
      }
    },
    methods: {
      // 上拉加载回调事件
      onInfinite() {
        if (this.isLoading) return
        this.isLoading = true
        axios.get('/getList', {page: this.page, size: this.size}).then(res => {
          this.list = this.list.concat(res.data)
          this.page++
          this.isLoading = false
          this.$refs.infiniteLoading.$emit('$InfiniteLoading:loaded')
        })
      }
    }
  }
</script>

Im obigen Code führen wir zunächst vue-infinite-loading ein und registrieren es als Komponente. Verwenden Sie dann das Tag „Infinite-Loading“ in der Vorlage und hören Sie sich dessen On-Infinite-Ereignis an (dieses Ereignis wird ausgelöst, wenn der Benutzer nach unten scrollt) und senden Sie dann in der OnInfinite-Rückruffunktion eine Anfrage an den Server, um das nächste zu erhalten Seitendaten und hängen Sie sie an. Lösen Sie im Listenarray das Ereignis $InfiniteLoading:loaded aus, sodass beim Laden der Seite der Ladestatus gelöscht und die Seite aktualisiert und gerendert wird. Wir können auch das Distanzattribut verwenden, um die Entfernung zu steuern, die das Laden auslöst, das Spinner-Attribut, um die Ladeanimation festzulegen, und den No-Results-Slot, um die Eingabeaufforderungsinformationen nach Abschluss des Ladevorgangs festzulegen usw.

Zusammenfassung

Im Zeitalter des mobilen Internets sind Pull-Down-Aktualisierung und Pull-Up-Laden zu Standardfunktionen moderner Apps und Websites geworden. Um die Benutzererfahrung zu verbessern, stellt Vue einige Plug-Ins und APIs zur Implementierung dieser beiden Interaktionen bereit Methoden, die es Entwicklern erleichtern, schnell entsprechende Funktionen hinzuzufügen, um die Benutzererfahrung komfortabler zu gestalten. Wir haben eine kurze Einführung und Code-Demonstration der Pull-Down-Aktualisierungs- und Pull-Up-Lademethoden in Vue gegeben. Wir hoffen, dass sie für alle in der tatsächlichen Entwicklung hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonWie verwende ich Vue, um Pulldown-Aktualisierung und Pullup-Laden zu implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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