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

So ändern Sie die Tomcat-Portnummer in Linux

Ich habe hier mehrere Tomcats. Wenn ich sie gleic...

So erzielen Sie mit Vue3 beispielsweise einen Lupeneffekt

Inhaltsverzeichnis Vorwort 1. Die Bedeutung der K...

Implementierung eines CSS-Textschatten-Effekts zur allmählichen Unschärfe

Textschatten Fügen Sie dem Text einen Schatten hi...

MySQL-Grundlagen in 1 Stunde

Inhaltsverzeichnis Erste Schritte mit MySQL MySQL...

js realisiert 3D-Soundeffekte durch audioContext

In diesem Artikel wird der spezifische Code von j...

20 hervorragende Beispiele für die Farbabstimmung auf ausländischen Webseiten

In diesem Artikel werden 20 hervorragende Beispiel...

W3C Tutorial (11): W3C DOM Aktivitäten

Das Document Object Model (DOM) ist eine Plattfor...

Zusammenfassung der verschiedenen Haltungen der MySQL-Berechtigungseskalation

Inhaltsverzeichnis 1. Schreiben Sie Webshell in d...