Heim Web-Frontend View.js Grundlegendes VUE3-Tutorial: Verwenden Sie Mixins, um Komponentenfunktionen zu erweitern

Grundlegendes VUE3-Tutorial: Verwenden Sie Mixins, um Komponentenfunktionen zu erweitern

Jun 15, 2023 pm 08:56 PM
vue mixins 扩展功能

VUE3-Basis-Tutorial: Verwenden Sie Mixins, um Komponentenfunktionen zu erweitern

Mit der Entwicklung der Front-End-Entwicklung wurden immer mehr Front-End-Frameworks entwickelt, und VUE ist auch eines der besten. VUE3 bietet Entwicklern viele Vorteile wie schnellere und bessere Leistung, bessere SSR-Unterstützung und einfachere Entwicklungsmethoden für Vue-Komponenten. In diesem Artikel wird erläutert, wie Sie Mixins in VUE3 verwenden, um die Funktionalität von Komponenten zu erweitern.

Was sind Mixins?

Mixins sind eine Möglichkeit, Code wiederzuverwenden und Logik zwischen mehreren Komponenten zu teilen. Es handelt sich um ein normales Javascript-Objekt, das beliebige Komponentenoptionen enthalten kann. Wenn eine Komponente Mixins verwendet, werden alle Optionen der Mixins in die eigenen Optionen der Komponente „gemischt“.

In VUE2 ist die Art und Weise, Mixins zu verwenden, wie folgt:

// 定义一个mixins
export const mixins = {
  data() {
    return {
      msg: 'Hello Mixins!'
    }
  },
  methods: {
    showMsg() {
      console.log(this.msg);
    }
  }
}

// 使用mixins,在组件中引入即可
import { mixins } from './mixins.js'

export default {
  mixins: [mixins]
}
Nach dem Login kopieren

In VUE3 ist die Art und Weise, Mixins zu verwenden, etwas anders:

// 定义一个mixins
export const mixins = {
  data() {
    return {
      msg: 'Hello Mixins!'
    }
  },
  methods: {
    showMsg() {
      console.log(this.msg);
    }
  }
}

// 使用mixins,在组件中引入即可
import { defineComponent } from 'vue'
import { mixins } from './mixins.js'

export default defineComponent({
  mixins: [mixins]
})
Nach dem Login kopieren

Wie aus den beiden obigen Beispielen ersichtlich ist, ist die Art und Weise, Mixins in VUE3 zu verwenden, folgende fast das Gleiche wie VUE2. Verwenden Sie einfach defineComponent anstelle des vorherigen Vue.component. defineComponent代替了之前的Vue.component

使用mixins扩展组件功能

在实际开发中,mixins的作用体现的愈发明显。经常会遇到多个组件有相同的逻辑,此时使用mixins就可以方便地将这些逻辑提取出来,在多个组件之间实现共用。

首先,在mixins.js文件中定义一个mixins,这里以下拉刷新为例:

export const Refresh = {
  data() {
    return {
      isLoading: false, // 是否在加载中
      startY: 0, // 下拉刷新区域起始y坐标
      distance: 0, // 下拉刷新区域拖拽的距离
      minPullDistance: 60 // 下拉刷新最小拖拽距离
    }
  },
  methods: {
    /**
     * 开始下拉
     */
    touchstart(event) {
      if (this.isLoading) {
        return
      }
      this.startY = event.touches[0].clientY
    },

    /**
     * 下拉过程中
     */
    touchmove(event) {
      if (this.isLoading) {
        return
      }
      this.distance = event.touches[0].clientY - this.startY
      if (this.distance > 0) { // 下拉
        event.preventDefault()
      }
    },

    /**
     * 结束下拉
     */
    touchend() {
      if (this.isLoading) {
        return
      }
      if (this.distance >= this.minPullDistance) {
        this.isLoading = true
        this.pullRefresh()
      } else {
        this.distance = 0
      }
    },

    /**
     * 下拉刷新
     */
    pullRefresh() {
      // 异步请求数据完成后需将isLoading设为false
      setTimeout(() => {
        this.isLoading = false
        this.distance = 0
      }, 3000)
    }
  }
}
Nach dem Login kopieren

以上就是下拉刷新用到的所有方法,我们可以将其抽离出来,放到一个名为Refresh的mixins中。

现在,我们可以在需要使用下拉刷新功能的组件中,引入Refreshmixins,如下所示:

<template>
  <div class="container"
       :style="{ top: distance + 'px' }"
       @touchstart="touchstart"
       @touchmove="touchmove"
       @touchend="touchend">
  
    <p v-if="isLoading">正在加载中...</p>
    
    <slot></slot>
  
  </div>
</template>

<script>
import { defineComponent } from 'vue'
import { Refresh } from './mixins'

export default defineComponent({
  name: 'PullRefresh',
  mixins: [Refresh],
  methods: {
    handlePullRefresh() {
      console.log('进行下拉刷新操作')
    }
  }
})
</script>
Nach dem Login kopieren

在上面的代码中,我们在组件的选项中添加一个名为mixins的属性,将Refreshmixins引入组件中,即可扩展组件的功能。此时,组件已经具备了下拉刷新的功能,除了mixins

Verwenden Sie Mixins, um Komponentenfunktionen zu erweitern

In der tatsächlichen Entwicklung wird die Rolle von Mixins immer offensichtlicher. Es kommt häufig vor, dass mehrere Komponenten dieselbe Logik haben. In diesem Fall können Mixins verwendet werden, um diese Logiken einfach zu extrahieren und zwischen mehreren Komponenten zu teilen.

Definieren Sie zunächst ein Mixins in der Datei mixins.js. Hier ist die Pulldown-Aktualisierung als Beispiel: 🎜rrreee🎜Die oben genannten Methoden sind für die Pulldown-Aktualisierung verfügbar Extrahieren Sie sie und fügen Sie sie in ein Mixins mit dem Namen Refresh ein. 🎜🎜Jetzt können wir Refresh-Mixins in der Komponente einführen, die die Pulldown-Aktualisierungsfunktion verwenden muss, wie unten gezeigt: 🎜rrreee🎜Im obigen Code fügen wir eine Komponente mit dem Namen hinzu mixins-Attribute führen Refreshmixins in die Komponente ein, um die Funktionalität der Komponente zu erweitern. Zu diesem Zeitpunkt verfügt die Komponente bereits über die Pulldown-Aktualisierungsfunktion, und andere Attribute und Methoden außer dem Attribut mixins können ebenfalls normal verwendet werden. 🎜🎜Zusammenfassung🎜🎜Dieser Artikel stellt vor, wie man die Funktionalität von Komponenten durch Mixins in VUE3 erweitert. Mixins sind eine Möglichkeit, Code wiederzuverwenden und Logik zwischen mehreren Komponenten zu teilen. Wenn eine Komponente Mixins verwendet, werden alle Optionen der Mixins in die eigenen Optionen der Komponente „gemischt“. Durch die Verwendung von Mixins können wir wiederverwendbaren Logikcode extrahieren und die Wartbarkeit und Wiederverwendbarkeit von Komponenten verbessern. 🎜

Das obige ist der detaillierte Inhalt vonGrundlegendes VUE3-Tutorial: Verwenden Sie Mixins, um Komponentenfunktionen zu erweitern. 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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen 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)

So verweisen Sie auf die JS -Datei mit Vue.js So verweisen Sie auf die JS -Datei mit Vue.js Apr 07, 2025 pm 11:27 PM

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

So fügen Sie Funktionen zu Schaltflächen für Vue hinzu So fügen Sie Funktionen zu Schaltflächen für Vue hinzu Apr 08, 2025 am 08:51 AM

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

So verwenden Sie Watch in Vue So verwenden Sie Watch in Vue Apr 07, 2025 pm 11:36 PM

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

So kehren Sie von Vue zur vorherigen Seite zurück So kehren Sie von Vue zur vorherigen Seite zurück Apr 07, 2025 pm 11:30 PM

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

Vue realisiert Festzelt-/Text -Scrolling -Effekt Vue realisiert Festzelt-/Text -Scrolling -Effekt Apr 07, 2025 pm 10:51 PM

Implementieren Sie Marquee/Text-Scrolling-Effekte in VUE unter Verwendung von CSS-Animationen oder Bibliotheken von Drittanbietern. In diesem Artikel wird die Verwendung von CSS -Animation vorgestellt: Bildlauftext erstellen und Text mit & lt; div & gt;. Definieren Sie CSS -Animationen und setzen Sie Überlauf: Versteckt, Breite und Animation. Definieren Sie Keyframes, setzen Sie Transformation: Translatex () am Anfang und am Ende der Animation. Passen Sie die Animationseigenschaften wie Dauer, Bildlaufgeschwindigkeit und Richtung an.

So fragen Sie die Version von Vue So fragen Sie die Version von Vue Apr 07, 2025 pm 11:24 PM

Sie können die Vue -Version mit Vue Devtools abfragen, um die Registerkarte VUE in der Konsole des Browsers anzuzeigen. Verwenden Sie NPM, um den Befehl "npm list -g vue" auszuführen. Suchen Sie das Vue -Element im Objekt "Abhängigkeiten" der Datei package.json. Führen Sie für Vue -CLI -Projekte den Befehl "Vue --version" aus. Überprüfen Sie die Versionsinformationen im & lt; Skript & gt; Tag in der HTML -Datei, die sich auf die VUE -Datei bezieht.

So verwenden Sie Vue Traversal So verwenden Sie Vue Traversal Apr 07, 2025 pm 11:48 PM

Es gibt drei gängige Methoden für Vue.js, um Arrays und Objekte zu durchqueren: Die V-für-Anweisung wird verwendet, um jedes Element zu durchqueren und Vorlagen zu rendern; Die V-Bind-Anweisung kann mit V-für dynamisch Attributwerte für jedes Element verwendet werden. und die .MAP -Methode kann Array -Elemente in Neuarrays umwandeln.

See all articles