Die Composition API implementiert Schritte zur Wiederverwendung logischer Elemente:
Definieren Sie beispielsweise eine Methode zum Abrufen der aktuellen Mausposition Die erste Möglichkeit besteht darin, die durch ref definierte useMousePosition direkt zu verwenden: Auf diese Weise können sowohl Exporte als auch Importe nach Belieben destrukturiert werden // useMousePosition.js importiere { ref, onMounted, onUnmounted } von 'vue' // 1. Definieren Sie eine Funktion, extrahieren Sie die Logik und nennen Sie sie useXXX Funktion useMousePosition() { //Verwende ref um const x = ref(0) zu definieren konstant y = ref(0) Funktion update(e) { Konsole.log(x.Wert, y.Wert); x.Wert = e.SeiteX y.Wert = e.SeiteY } beimMounted(() => { console.log('Beginnen Sie mit der Überwachung von Mausbewegungsereignissen'); window.addEventListener('Mausbewegung', aktualisieren) }) beiUnmountet(() => { console.log('Überwachung von Maus-Scroll-Ereignissen entfernen'); window.removeEventListener('Mausbewegung', aktualisieren) }) zurückkehren { X, j } } // Diese Funktion exportieren export default useMousePosition <!-- Diese Methode kann in jeder Komponente aufgerufen werden--> <Vorlage> <p>Mausposition: {{x}}, {{y}}</p> </Vorlage> <Skript> importiere useMousePosition aus './useMousePosition' Standard exportieren { Name: 'Mausposition', aufstellen() { // useMousePosition verwendet ref um Variablen zu definieren, die dekonstruiert werden können const { x, y } = useMousePosition() konsole.log(x, y) zurückkehren { x, y } } } </Skript> Die zweite Methode besteht darin, reaktiv zu verwenden, um das Mauskoordinatenobjekt zu definieren. Diese Exportmethode kann beim Importieren in eine Komponente nicht destrukturiert werden. importiere { onMounted, onUnmounted, reaktiv } von 'vue' Exportfunktion useMousePosition2() { // Verwenden Sie reactive, um const mouse = reactive({ zu definieren. x: 0, j: 0 }) Funktion update(e) { Maus.x = e.SeiteX Maus.y = e.SeiteY } beimMounted(() => { console.log('Beginnen Sie mit der Überwachung von Mausbewegungsereignissen'); window.addEventListener('Mausbewegung', aktualisieren) }) beiUnmountet(() => { console.log('Überwachung von Maus-Scroll-Ereignissen entfernen'); window.removeEventListener('Mausbewegung', aktualisieren) }) zurückkehren { Maus } } <Vorlage> <!-- Objektmethode zum Anzeigen von Informationen verwenden --> <p>Mausposition2: {{mouse.x}}, {{mouse.y}}</p> </Vorlage> <Skript> importiere { useMousePosition2 } von './useMousePosition' Standard exportieren { Name: 'Mausposition', aufstellen() { // useMousePosition2 ist mit reactive definiert, daher ist eine Dekonstruktion nicht möglich const { mouse } = useMousePosition2() zurückkehren { Maus } } } </Skript> Die dritte Methode ist die Verwendung von toRefs Mit dieser Methode können Sie reaktive Objekte in Ref-Objekte zerlegen. Exportfunktion useMousePosition3() { // Verwenden Sie reactive, um const mouse = reactive({ zu definieren. x: 0, j: 0 }) Funktion update(e) { Maus.x = e.SeiteX Maus.y = e.SeiteY } beimMounted(() => { console.log('Beginnen Sie mit der Überwachung von Mausbewegungsereignissen'); window.addEventListener('Mausbewegung', aktualisieren) }) beiUnmountet(() => { console.log('Überwachung von Maus-Scroll-Ereignissen entfernen'); window.removeEventListener('Mausbewegung', aktualisieren) }) //Verwende hier toRefs zum Dekonstruieren in ein Ref-Objekt return toRefs(mouse) } <Vorlage> <p>Mausposition: {{x}}, {{y}}</p> </Vorlage> <Skript> importiere { useMousePosition3 } von './useMousePosition' Standard exportieren { Name: 'Mausposition', aufstellen() { // Benutze reactive, um das Mauskoordinatenobjekt zu definieren, und dekonstruiere es dann über toRefs const { x, y } = useMousePosition() in ein Ref-Objekt. konsole.log(x, y) zurückkehren { x, y } } } </Skript> Alle drei Methoden können implementiert werden, aber wenn wir sie im Allgemeinen verwenden, geben wir das Ref-Objekt zurück. Daher wird empfohlen, die erste und dritte Methode zu verwenden und zu versuchen, die zweite Methode nicht zu verwenden. Dies ist das Ende dieses Artikels über die Implementierung der Logikwiederverwendung mit der Vue3-Kompositions-API. Weitere Informationen zur Logikwiederverwendung der Vue3-Kompositions-API finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: Tutorial-Analyse der Schnellinstallation von mysql5.7 basierend auf centos7
1. Um die MySQL-Datenbank herunterzuladen, besuch...
Standardmäßig werden Breite und Höhe der Zelle au...
Ich erinnere mich an eine Frage, die der Intervie...
Inhaltsverzeichnis 1. Server 2. Kunde 3. Testdien...
In diesem Artikelbeispiel wird der spezifische Co...
Der Anwendungsbereich von CSS ist global. Wenn da...
Schauen Sie sich den Code an: Code kopieren Der Co...
Lassen Sie mich Ihnen zuerst das Effektbild zeige...
Um die Tabelle zu verschönern, können Sie für die...
beschreiben Gibt das Zeitintervall zwischen zwei ...
In diesem Artikelbeispiel wird der spezifische Co...
1. Wodurch wird die Geschwindigkeit der Datenbank...
[LeetCode] 175.Zwei Tabellen kombinieren Tabelle:...
Inhaltsverzeichnis Überblick Berechtigungen auf S...
Inhaltsverzeichnis Vorwort zx-Bibliothek $`Befehl...