Lokale Vue-Komponentendatenfreigabe Vue.observable()-Nutzung

Lokale Vue-Komponentendatenfreigabe Vue.observable()-Nutzung

Wenn Komponenten detaillierter werden, treten Situationen auf, in denen mehrere Komponenten einen Status gemeinsam nutzen. Vuex kann diese Art von Problem sicherlich lösen, aber wie in der offiziellen Vuex-Dokumentation steht, ist es am besten, Vuex nicht zu verwenden, wenn die Anwendung nicht groß genug ist, um umständlichen und redundanten Code zu vermeiden. Heute stellen wir die neu hinzugefügte Observable-API in vue.js 2.6 vor. Mithilfe dieser API können wir einige einfache Situationen bewältigen, in denen komponentenübergreifend Datenstatus gemeinsam genutzt werden.

Erstellen eines Store-Objekts

Erstellen Sie zunächst eine store.js-Datei, die einen Store und eine Mutation enthält, die verwendet werden, um jeweils auf Daten und Verarbeitungsmethoden zu verweisen.

//store.js
importiere Vue von „vue“;

exportiere let store =Vue.observable({count:0,name:'observable'});
exportiere let Mutationen={
    setCount(Anzahl){
        store.count=Anzahl;
    },
    ändereName(Name){
        Geschäft.Name=Name;
    }
}

Anwenden von Store-Objekten auf verschiedene Komponenten

Verwenden Sie dann das Objekt in Ihrer Komponente

//Beobachter.vue
<Vorlage>
  <div>
    <h1>Beobachtbare gemeinsame Nutzung von Datenzuständen über mehrere Komponenten hinweg</h1>
    <div>
      <oben></oben>
      <unten></unten>
    </div>
  </div>
</Vorlage>

<Skript>
importiere oben aus „./components/top.vue“;
importiere unten aus „./components/bottom.vue“;
Standard exportieren {
  Name: 'obserVable',
  Komponenten:
    Spitze,
    unten
  }
};
</Skript>

<Stilbereich>
</Stil>
//Komponente a
<Vorlage>
  <div Klasse="bk">
    <span
      ><h1>eine Komponente</h1>
      {{ Anzahl }}--{{ Name }}
    >
    <button @click="setCount(count + 1)">+1 in der aktuellen Komponente</button>
    <button @click="setCount(count - 1)">Aktuelle Komponente -1</button>
  </div>
</Vorlage>
<Skript>
importiere { Store, Mutationen } aus '@/store';
Standard exportieren {
  berechnet: {
    zählen() {
      gibt Store.Count zurück;
    },
    Name() {
      gib Store.Name zurück;
    }
  },
  Methoden: {
    setCount: mutationen.setCount,
    Änderungsname: mutationen.Änderungsname
  }
};
</Skript>
<Stilbereich>
.bk {
  Hintergrund: hellrosa;
}
</Stil>
//Komponente b
<Vorlage>
  <div Klasse="bk">
    <h1>b-Komponente</h1>
    {{ Anzahl }}--{{ Name }}
    <button @click="setCount(count + 1)">+1 in aktueller b-Komponente</button>
    <button @click="setCount(count - 1)">Aktuelle b-Komponente -1</button>
  </div>
</Vorlage>
<Skript>
importiere { Store, Mutationen } von '@/store';
Standard exportieren {
  berechnet: {
    zählen() {
      gibt Store.Count zurück;
    },
    Name() {
      gib Store.Name zurück;
    }
  },
  Methoden: {
    setCount: mutationen.setCount,
    Änderungsname: mutationen.Änderungsname
  }
};
</Skript>
<Stilbereich>
.bk {
  Hintergrund: hellgrün;
}
</Stil>

Anzeigeeffekt

Bildbeschreibung hier einfügen

Damit ist dieser Artikel über die Verwendung von Vue.observable() für die gemeinsame Nutzung lokaler Vue-Komponentendaten abgeschlossen. Weitere relevante Inhalte zur gemeinsamen Nutzung von Vue.observable()-Daten 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:
  • Erfahren Sie mehr über den Lebenszyklus von Vue
  • Detaillierte Erläuterung der Vue3-Lebenszyklus-Hook-Funktion
  • Eine kurze Diskussion über den Lebenszyklus von Vue
  • Detaillierte Erklärung zum Datenaustausch zwischen Vue-Komponenten
  • Vue implementiert Datenaustausch- und Änderungsvorgänge zwischen zwei Komponenten
  • Detaillierte Erläuterung des Vue-Lebenszyklus und der Datenfreigabe

<<:  MySQL Advanced Learning Notes (Teil 3): Einführung in die logische Architektur von MySQL, detaillierte Erläuterung der MySQL-Speicher-Engine

>>:  CentOS 6 Kompilieren und installieren Sie ZLMediaKit-Analyse

Artikel empfehlen

So erstellen Sie Ihr eigenes Image mit Dockerfile

1. Erstellen Sie ein leeres Verzeichnis $ cd /hom...

Tutorial zur Verwendung von Docker Compose zum Erstellen von Confluence

Dieser Artikel verwendet die Lizenzvereinbarung „...

HTML-Tutorial: Das Optgroup-Element verstehen

Wählen Sie die Kategorieauswahl. Nach Tests könne...

DNS-Konfigurationsmethode für den Linux Domain Name Service

Was ist DNS Der vollständige Name von DNS lautet ...

So verwenden Sie html2canvas, um HTML-Code in Bilder umzuwandeln

Konvertieren Sie Code in ein Bild mit html2canvas...

Probleme und Lösungen bei der Verwendung der jsx-Syntax in React-vscode

Problembeschreibung Nach der Installation des Plu...

HTML verwendet Laufschrift, um Text nach links und rechts scrollen zu lassen

Code kopieren Der Code lautet wie folgt: <KÖRP...

So testen Sie die Netzwerkgeschwindigkeit mit JavaScript

Inhaltsverzeichnis Vorwort Zusammenfassung des Pr...

Einführung und Installation von MySQL Shell

Inhaltsverzeichnis 01 ReplicaSet-Architektur 02 E...