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

Detaillierte Erklärung zur Verwendung von JavaScript-Funktionen

Inhaltsverzeichnis 1. Deklarieren Sie eine Funkti...

MySQL-Deduplizierungsmethoden

MySQL-Deduplizierungsmethoden 【Anfänger】 Es gibt ...

Natives JS zur Implementierung der Drag-Position-Vorschau

In diesem Artikel wird eine kleine Demo gezeigt, ...

Flexibles Boxmodell von CSS und CSS3 zur Anpassung der Elementbreite (-höhe)

1. CSS realisiert eine feste Breite links und ein...

Einführungstutorial zu React Hooks

Zustandshaken Beispiele: importiere { useState } ...

5 Möglichkeiten, Ihre JavaScript-Codebasis sauberer zu machen

Inhaltsverzeichnis 1. Verwenden Sie Standardparam...

Vergleich mehrerer Beispiele zur Einfügungseffizienz in MySQL

Vorwort Aus beruflichen Gründen musste ich kürzli...

Tutorial zur Installation von Odoo14 aus dem Quellcode unter Ubuntu 18.04

Inhaltsverzeichnis Hintergrund dieser Serie Überb...

Gründe und Methoden zum Warten auf die Sperre der Tabellenmetadaten in MySQL

Wenn MySQL DDL-Operationen wie „Alter Table“ ausf...

Beispiel zum Deaktivieren der Browser-Cache-Konfiguration im Vue-Projekt

Beim Freigeben eines Projekts müssen Sie häufig d...