Detaillierte Erklärung der Vue-Mixin-Verwendung und des Zusammenführens von Optionen

Detaillierte Erklärung der Vue-Mixin-Verwendung und des Zusammenführens von Optionen

1. Verwendung in Komponenten

Mixins bieten eine sehr flexible Möglichkeit, wiederverwendbare Funktionen auf Vue-Komponenten zu verteilen. Ein Mixin-Objekt kann beliebige Komponentenoptionen enthalten. Wenn eine Komponente ein Mixin verwendet, werden alle Optionen des Mixins in die eigenen Optionen der Komponente „gemischt“.

<Vorlage>
  <div Klasse="Ereignisstil">
    <h2>Grundlagen</h2>
    <div Klasse="innere_Kinder">
      <span>{{ Nachricht }}</span>
    </div>
  </div>
</Vorlage>
<Skript>
var meinMixin = {
  Daten() {
    zurückkehren {
      Nachricht: "",
    };
  },
  erstellt: Funktion () {
    console.log("erstellt: Mixin hinzufügen");
    this.message = "erstellt: Mixin hinzufügen";
    dies.hallo();
  },
  Methoden: {
    hallo: Funktion () {
      console.log("Hallo vom Mixin!");
    },
  },
};
// Definieren Sie eine Komponente, die ein Mixin-Objekt verwendet. Exportieren Sie standardmäßig {
  Name: "mixin-basic",
  Mixins: [myMixin],
};
</Skript>

2. Optionszusammenführung

Wenn eine Komponente und ein Mixin Optionen mit demselben Namen haben, werden diese Optionen auf entsprechende Weise „zusammengeführt“.

Beispielsweise werden Datenobjekte intern rekursiv zusammengeführt, wobei bei Konflikten die Komponentendaten Vorrang haben.

<Vorlage>
  <div Klasse="Ereignisstil">
    <h2>Optionen zusammenführen</h2>
    <div Klasse="innere_Kinder">
      <span>{{ Nachricht }}</span>
      <span>{{ Nachricht1 }}</span>
    </div>
  </div>
</Vorlage>
<Skript>
var meinMixin = {
  Daten() {
    zurückkehren {
      Nachricht: "mixin:mixin",
      Nachricht1: "mixin:mixin-1",
    };
  },
  erstellt: Funktion () {
    dies.hallo();
  },
  Methoden: {
    hallo: Funktion () {
      console.log("mixin:Hallo von mixin!");
    },
  },
};
// Definieren Sie eine Komponente, die ein Mixin-Objekt verwendet. Exportieren Sie standardmäßig {
  Name: "Mixin-Merge",
  Mixins: [myMixin],
  Daten() {
    zurückkehren {
      Nachricht: "Komponente: Hallo",
    };
  },
  erstellt: Funktion () {
    dies.hallo();
  },
  Methoden: {
    hallo: Funktion () {
      console.log("Komponente: Hallo Welt!");
    },
  },
};
</Skript>
<Stilbereich>
.Ereignisstil {
  Polsterung links: 50px;
  Polsterung rechts: 50px;
}
.innere_kinder {
  Anzeige: Flex;
  Flex-Richtung: Spalte;
  Höhe: 150px;
  Rand: 1px durchgezogen #333;
  Polsterung: 6px;
}
.inner_children Spanne {
  Schriftgröße: 20px;
}
</Stil>

Seitenrendering-Effekt

Wie aus der obigen Abbildung ersichtlich ist, hat die Komponente Vorrang, wenn die eingemischten Daten und Methoden mit der Komponentendefinition in Konflikt stehen. Wenn sie in der Komponente nicht definiert sind, werden sie zusammengeführt, um die Auswirkung der eingemischten Definition anzuzeigen.

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können!

Das könnte Sie auch interessieren:
  • Eine kurze Diskussion darüber, wie die Vue3 Composition API Vue Mixins ersetzt
  • Detaillierte Erklärung des Vue-Mixins
  • So verwenden Sie Mixins in Vue
  • Webprojektentwicklung VUE-Mischungs- und Vererbungsprinzip
  • Detaillierte Erklärung der Mixin-Verwendung in Vue
  • So verwenden Sie Vue3-Mixin

<<:  MySQL-Abfragedaten stündlich, geben Sie 0 ein, wenn keine Daten vorhanden sind

>>:  Docker stellt Containern dynamisch Ports zur Verfügung

Artikel empfehlen

So verwenden Sie Docker zum Erstellen eines Redis-Master-Slaves

1. Erstellen Sie eine Docker-Umgebung 1. Erstelle...

Hinweise zur Zeitverwaltung des Linux-Kernel-Gerätetreibers

/****************** * Zeitverwaltung des Linux-Ke...

SQL implementiert LeetCode (180. Fortlaufende Zahlen)

[LeetCode] 180. Aufeinanderfolgende Zahlen Schrei...

Diskussion über sinnvollere Erstellungsregeln für MySQL-String-Indizes

Vorwort In Bezug auf die Verwendung von MySQL-Ind...

Vue implementiert nahtloses Scrollen von Listen

In diesem Artikelbeispiel wird der spezifische Co...

Eine kurze Analyse des Unterschieds zwischen ref und toRef in Vue3

1. ref wird kopiert, die Ansicht wird aktualisier...

Einfaches Verständnis und Beispiele für MySQL Index Pushdown (ICP)

Vorwort Index Condition Pushdown (ICP) ist eine n...

CSS3 zum Erreichen eines Menü-Hover-Effekts

Ergebnis: html <nav id="nav-1"> &...

Die umfassendste Erklärung des Sperrmechanismus in MySQL

Inhaltsverzeichnis Vorwort Globale Sperre Vollstä...

Erfahren Sie in einem Artikel mehr über JavaScript-Closure-Funktionen

Inhaltsverzeichnis Variablenbereich Das Konzept d...

So erstellen Sie PHP7 mit einem benutzerdefinierten Docker-Image

Führen Sie zunächst eine einfache Docker-Installa...

Detaillierte Erklärung zur Verwendung von $emit in Vue.js

1. Übergeordnete Komponenten können Props verwend...

Grafische Erläuterung der Lösungen zur Frontend-Verarbeitung kleiner Symbole

Vorwort Bevor wir mit diesem Artikel beginnen, be...