Vue 2 verwendet optionale APIs wie Daten-, Methoden-, Überwachungs-, Berechnungs- und Lebenszyklus-Hook-Funktionen. 1. Wie verwende ich Mixin? Einfach ausgedrückt extrahiert Beispiel 1: <Skript> const meinMixin = { Daten(){ zurückkehren { Zahl: 520 } }, montiert(){ console.log('Mixin gemountet'); } } Standard exportieren { mixins:[meinMixin], } </Skript> ist gleichbedeutend mit: <Skript> Standard exportieren { Daten(){ zurückkehren { Zahl: 520 } }, montiert(){ console.log('Mixin gemountet'); } } </Skript> Der Vorteil hierbei besteht darin, dass Sie die gemeinsamen Optionen mehrerer Komponenten in ein Mixin-Objekt extrahieren können, das bei Bedarf direkt eingeführt werden kann. 2. Hinweise zur Verwendung von Mixin Die im 2.1. Was soll ich bei Verwendung eines Mixin-Objekts tun, wenn die Komponente und das Mixin dieselben Optionen enthalten? Beispiel 2 : Sowohl das <Vorlage> <div> {{qdr}} - {{name}} </div> </Vorlage> <Skript> const meinMixin = { Daten(){ zurückkehren { Name: „Eine kleine Schwester, die Front-End liebt“ } } } Standard exportieren { mixins:[meinMixin], Daten(){ zurückkehren { qdr: „Front-End-Person“ } } } </Skript> Nach dem Ausführen stellen wir fest, dass beide Variablen verwendet werden können und Was passiert, wenn wir die beiden Variablen im vorherigen Beispiel so ändern, dass sie denselben Namen haben? 2.2. Was soll ich tun, wenn die verwendeten Mixin-Objektoptionen und die Optionen in der Instanz dieselben Attribute haben? Beispiel 3 : Der gleiche <Vorlage> <div> {{Name}} </div> </Vorlage> <Skript> const meinMixin = { Daten(){ zurückkehren { Name: „Eine kleine Schwester, die Front-End liebt“ } } } Standard exportieren { mixins:[meinMixin], Daten(){ zurückkehren { Name: „Frontend-Person“ } } } </Skript>
Wenn die Attributwerte gleich sind, wird das Näherungsprinzip gewählt und der Wert in der Instanz wird zuerst vererbt, sodass die Attribute 2.3. Mixin-Objekte können auch Lebenszyklus-Hook-Funktionen hinzufügenWas wird zuerst ausgeführt, Mixin oder Instanz? Beispiel 4 : Hinzufügen von Lebenszyklus-Hook-Funktionen const meinMixin = { montiert(){ console.log('Mixin gemountet'); } } Standard exportieren { mixins:[meinMixin], montiert(){ Konsole.log('gemountet'); } } Laufergebnisse: Wir haben festgestellt, dass Lebenszyklusfunktionen zusammen ausgeführt werden, wobei zuerst die im 3. Benutzerdefinierte Attribute einmischen Kurz gesagt wird Beispiel 5 : Hinzufügen benutzerdefinierter Attribute const meinMixin = { benutzerdefiniert: „Benutzerdefinierte Attribute“ } Verwendung in Beispielen: montiert(){ Konsole.log(diese.$options.custom); } Wenn die Instanz auch eine benutzerdefinierte Eigenschaft mit demselben Namen enthält, wie wird die Priorität behandelt? Was ist, wenn wir die Priorität steuern möchten? 4. Fusionsstrategie Nutzungsregeln: app.config.optionMergeStrategies.propertyName=(mixinVal,appVal)=>{ return appVal || mixinVal // Bestimmen Sie, welcher Attributwert zuerst zurückgegeben wird} Fügen Sie der Instanz gemäß Beispiel 5 oben Beispiel 6 : Validieren von <Skript> const meinMixin = { benutzerdefiniert: 'Mixin benutzerdefiniert', } Standard exportieren { benutzerdefiniert: "App benutzerdefiniert", mixins:[meinMixin], montiert(){ console.log(this.$options.custom); // Ergebnis drucken: App benutzerdefiniert } } </Skript> Es wird festgestellt, dass die Attributwerte im In die Datei main.js importieren: app.config.optionMergeStrategies.custom=(mixinVal,appVal)=>{ MixinVal zurückgeben || AppVal } Nach dem erneuten Ausführen stellen wir fest, dass das gedruckte Ergebnis zum Attributwert im Mixin wird: console.log(this.$options.custom); // Ergebnis drucken: Mixin benutzerdefiniert 5. Globales Konfigurations-Mixin Wenn das Projekt mehrere Komponenten enthält, die bestimmte Optionen wiederverwenden, können wir Die Syntax lautet wie folgt: app.mixin([ {}, {}, {} ]) Dies ist das Ende dieses Artikels zur Verwendung von Vue3-Mixin. Weitere verwandte Vue3-Mixin-Inhalte finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Beschreibung der HTML-Meta-Viewport-Attribute
Konventionelle Lösung Verwenden Sie FileReader, u...
Inhaltsverzeichnis Boolescher Typ Nummerntypen Ze...
Vorwort Die Benutzeroberfläche von Deepin sieht w...
Wenn wir Frontend-Entwicklung betreiben, werden w...
1. Erstellen Sie eine Sequenztabelle CREATE TABLE...
Das Erscheinungsbild einer Webseite hängt maßgebl...
1. Alibaba Cloud wählt den geeigneten Cloud-Serve...
Öffnen Sie den gerade entpackten Ordner C:\web\my...
Beim Erstellen einer Website treten immer wieder P...
Wenn sich die Daten ändern, wird die DOM-Ansicht ...
1. Übersicht Das Image in Docker ist in Schichten...
MySQL 8.0.13 verfügt standardmäßig über einen Dat...
123WORDPRESS.COM hat Ihnen den Installationsproze...
Vorwort Wenn wir das MySQL-Datenbankkennwort verg...
Inhaltsverzeichnis 1. Einführung in das Teleporti...