Detaillierte Erklärung zur Verwendung von Vue-Mixin

Detaillierte Erklärung zur Verwendung von Vue-Mixin

Verwendung von Vue-Mixin

  • Funktion : Nachdem die Komponente eingeführt wurde, wird der Inhalt innerhalb der Komponente, wie Daten und andere Methoden, Methoden und andere Attribute, mit dem entsprechenden Inhalt der übergeordneten Komponente zusammengeführt. Dies entspricht der Erweiterung der verschiedenen Eigenschaftsmethoden der übergeordneten Komponente nach der Einführung.
  • Das Prinzip des gleichen Zugriffs auf Datendaten : Wenn die aktuelle Komponente, die das Mixin verwendet, über die Datendaten oder Methoden verfügt, werden die Daten oder Methoden der aktuellen Komponente direkt verwendet, andernfalls werden die Daten und Methoden innerhalb des Mixins direkt übernommen
  • Hinweis : Sie können gemeinsam genutzte Variablen definieren und in jeder Komponente verwenden. Nach der Einführung in die Komponente ist jede Variable unabhängig von den anderen und Wertänderungen wirken sich in der Komponente nicht gegenseitig aus.
  • Hinweis 2 : Mixin wird nach der Einführung der Komponente mit den Objekten und Methoden in der Komponente zusammengeführt. Dies entspricht der Erweiterung der Daten und Methoden der übergeordneten Komponente usw. und kann als Bildung einer neuen Komponente verstanden werden.

Datenzugriff im Mixin

mixin/index.js

Standard exportieren {
  Daten () {
    zurückkehren {
      msg: „Ich bin msg im Mixin“
    }
  },
  erstellt () {
  },
  montiert () { },
  Methoden: {
  }
}

Startseite.vue

  • Verwenden von Mixins in der Home-Komponente
<Vorlage>
  <div>
    <div>home -- {{ msg }}</div> /* Nachricht von home geändert */
  </div>
</Vorlage>
<Skript>
importiere Mixin aus "@/mixin/index.js";
Standard exportieren {
  Name: "Home",
  Mixins: [Mixin],
  Daten() {
    zurückkehren { };
  },
  erstellt() {
    // Daten von Mixin abrufen console.log("home print", this.msg); //home druckt „Ich bin die Nachricht“ in Mixin
    // Ändern Sie die Daten des Mixins. this.msg = "msg modified by home";
    console.log("home print", this.msg); // home druckt die von home geänderte Nachricht
  },
  Methoden: {
  },
};
</Skript>
<style lang="scss" scoped>
</Stil>

About2.vue

<Vorlage>
  <div>
    <div>about2 -- {{ msg }}</div> /* Nachricht geändert von about2 */
  </div>
</Vorlage>
<Skript>
importiere Mixin aus "@/mixin/index.js";
Standard exportieren {
  Name: "About2",
  Mixins: [Mixin],
  Komponenten: {},
  Daten() {
    zurückkehren {
      msg: "lokale Nachricht",
    };
  },
  erstellt() {
    console.log("print about2", this.msg); // lokale Nachricht
    this.msg = "Nachricht geändert von about2";
    console.log("print about2", this.msg); // Nachricht geändert von about2
    // Die letzte Seite zeigt die geänderten Nachrichtendaten von about2},
  Methoden: {
  },
};
</Skript>
<style lang="scss" scoped>
</Stil>

Methoden und berechnete Nutzung im Mixin

mixin/index.js

Standard exportieren {
  Daten () {
    zurückkehren {
      msg: „Ich bin msg im Mixin“
    }
  },
  erstellt () { },
  montiert () { },
  berechnet: {
    Benutzername() {
      return "Ich bin das berechnete Attribut Benutzername";
    },
  },
  Methoden: {
    tipMsg() {
      console.log("tipMsg-Methode in Minxin", this.msg);
    },
    tipInfo (info) {
      console.log("tipInfo-Methode in Minxin", info);
    }
  }
}

Startseite.vue

<Vorlage>
  <div>
    <div>home --- msg-{{ msg }} Benutzername-{{ Benutzername }}</div>
    /* home --- msg UserName-I bin der Benutzername des berechneten Attributs */
  </div>
</Vorlage>
<Skript>
importiere Mixin aus "@/mixin/index.js";
Standard exportieren {
  Name: "Home",
  Mixins: [Mixin],
  Komponenten: {},
  Daten() {
    zurückkehren {};
  },
  erstellt() {
    // Daten von Mixin abrufen console.log("home print", this.msg); //home druckt „Ich bin die Nachricht“ in Mixin
    // Ändern Sie die Daten des Mixins. this.msg = "msg modified by home";
    console.log("home print", this.msg); // home druckt die von home geänderte Nachricht
    //Rufen Sie die Methode tipMsg im Mixin auf this.tipMsg(); //Die von der Methode tipMsg home in minxin geänderte Nachricht
    this.tipInfo("Ich bin ein Home-Rookie-Info"); // tipInfo-Methode in minxin Ich bin ein Home-Rookie-Info
  },
  Methoden: {},
};
</Skript>
<style lang="scss" scoped>
</Stil>

About2.vue

<Vorlage>
  <div>
    <div>about2 -- {{ msg }} Benutzername-{{ Benutzername }}</div>
    /* about2 -- about2 geänderte Nachricht UserName-I ist das berechnete Attribut UserName */
  </div>
</Vorlage>
<Skript>
importiere Mixin aus "@/mixin/index.js";
Standard exportieren {
  Name: "About2",
  Mixins: [Mixin],
  Komponenten: {},
  Daten() {
    zurückkehren {
      msg: "lokale Nachricht",
    };
  },
  erstellt() {
    console.log("print about2", this.msg); // lokale Nachricht
    this.msg = "Nachricht geändert von about2";
    console.log("print about2", this.msg); // Nachricht geändert von about2
    // Die letzte Seite zeigt die geänderte Nachricht von about2. Diese Daten sind this.tipMsg(); // Der letzte Ausdruck-> Ich bin die lokale tipMsg-Methode von about2. This.tipInfo(); // Die tipInfo-Methode in minxin ist nicht definiert.
  },
  Methoden: {
    tipMsg() {
      console.log("Ich bin die lokale tipMsg-Methode von about2");
    },
  },
};
</Skript>

Zusammenfassen

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

Das könnte Sie auch interessieren:
  • Beispiel für die Kommunikation zwischen übergeordneten und untergeordneten Komponenten von Vue (props, $ref, $emit)
  • So verwenden Sie Mixins in Vue
  • So verwenden Sie Vue3-Mixin
  • Detailliertes Tutorial zur Verwendung von Mixin & Extends in Vue
  • Detaillierte Erklärung des Fehlers bei der Verwendung der Ref-Reaktionsfähigkeit in defineProps in vue3
  • Implementierung des Mixins für die gemeinsame Methodenextraktion von Vue-Komponenten
  • Hinweise zu Vue-Eltern-Kind-Komponenten, die Mixins gemeinsam nutzen
  • Detaillierte Erklärung der Vue-Komponentenbildung (Ref, Props, Mixin, Plug-in)
  • Ref-, Props-, Mixin-Attribute in Vue

<<:  SQL-Implementierung von LeetCode (182. Doppelte Postfächer)

>>:  Erläuterung zum Lastenausgleich und Reverseproxy von Nginx

Artikel empfehlen

Detaillierte Erklärung zum MySQL-Dateispeicher

Was ist ein Dateisystem Wir wissen, dass Speicher...

JavaScript zum Erzielen digitaler Uhreffekte

In diesem Artikelbeispiel wird der spezifische Co...

Native JS realisiert einheitliche Bewegungen verschiedener Sportarten

In diesem Artikel wird eine einheitliche Bewegung...

So implementieren Sie ein responsives Layout mit CSS

Implementieren eines responsiven Layouts mit CSS ...

Vue basierend auf einer Element-Button-Berechtigungsimplementierungslösung

Hintergrundanforderungen: Das ERP-System muss ein...

CSS3 verwendet die Übergangseigenschaft, um Übergangseffekte zu erzielen

Detaillierte Beschreibung der Eigenschaften Der Z...

Einige Indikatoren für exzellentes Web-Frontend-Design

Die Barrierefreiheit von Webseiten scheint etwas z...

Fallstudie zum Zusammenführen von JavaScript-Arrays

Methode 1: var a = [1,2,3]; var b=[4,5] a = a.con...

Reines HTML+CSS, um einen Element-Ladeeffekt zu erzielen

Dies ist der Effekt der Element-UI-Ladekomponente...