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

Detaillierte Erklärung der JS-Array-Methoden

Inhaltsverzeichnis 1. Das ursprüngliche Array wir...

Beispiel für den Aufbau eines Jenkins-Dienstes mit Docker

Ziehen Sie das Bild root@EricZhou-MateBookProX: D...

CentOS 7.2 erstellt einen Nginx-Webserver zum Bereitstellen des Uniapp-Projekts

Panther begann als Anfänger und ich bin immer noc...

DHTML-Objekte (gemeinsame Eigenschaften verschiedener HTML-Objekte)

!DOCTYPE Gibt die Document Type Definition (DTD) ...

Sie müssen wahrscheinlich keine Switch-Anweisungen in JavaScript verwenden

Inhaltsverzeichnis Kein Schalter, keine komplexen...

Verwendung des Fokus-innerhalb-Selektors von CSS3

Pseudoelemente und Pseudoklassen Apropos, schauen...

Praktische Methode zum Upgrade von PHP auf 5.6 unter Linux

1: Überprüfen Sie die PHP-Version nach dem Aufruf...

Praktischer Bericht über die Entwicklung von Vue3- und TypeScript-Projekten

Inhaltsverzeichnis Überblick 1. Kompositions-API ...

Detailliertes Verständnis des Lebenszyklusvergleichs zwischen Vue2 und Vue3

Inhaltsverzeichnis Zyklusvergleich Verwendung Zus...