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

Lösung für die verstümmelte Anzeige von Linux SecureCRT

Sehen wir uns die Situation an, in der SecureCRT ...

Tutorial zur Installation von MongoDB unter Linux

MongoDB ist plattformübergreifend und kann sowohl...

Beispiel, wie nginx dynamische und statische Trennung implementiert

Inhaltsverzeichnis Stellen Sie nginx auf Server1 ...

Mysql löst das N+1-Abfrageproblem der Datenbank

Einführung In Orm-Frameworks wie Hibernate und My...

So wählen Sie den richtigen MySQL-Datums-/Uhrzeittyp zum Speichern Ihrer Zeit

Beim Erstellen einer Datenbank und Schreiben eine...

Verwendung und Optimierung der MySQL COUNT-Funktion

Inhaltsverzeichnis Was macht die Funktion COUNT? ...

CSS3 realisiert den leuchtenden Randeffekt

Wirkung der Operation: html <!-- Dieses Elemen...

Verwenden von System.Drawing.Common in Linux/Docker

Vorwort Nachdem das Projekt auf .net Core migrier...

Detaillierte Installation und Konfiguration von hadoop2.7.2 unter Ubuntu15.10

Im Internet und in vielen Büchern gibt es viele T...

Vollständige Analyse des Vue-Diff-Algorithmus

Inhaltsverzeichnis Vorwort Vue-Aktualisierungsans...

Die CSS-Priorität der Webseite wird für Sie ausführlich erklärt

Bevor wir über die CSS-Priorität sprechen, müssen...