


Ausführliche Erklärung zur Implementierung von Vuex (ausführliches Tutorial)
In diesem Artikel wird hauptsächlich die Implementierung eines einfachen Vuex vorgestellt. Jetzt teile ich ihn mit Ihnen und gebe Ihnen eine Referenz.
Zuerst müssen wir wissen, warum wir Vuex verwenden. Die Kommunikation zwischen übergeordneten und untergeordneten Komponenten kann über Requisiten und benutzerdefinierte Ereignisse erfolgen, und die einfache Kommunikation zwischen nicht über- und untergeordneten Komponenten erfolgt über den Bus (eine leere Vue-Instanz). Verwenden Sie dann Vuex, um die komplexe Kommunikation von Nicht-Eltern-Kind-Komponenten zu lösen.
Es spielt keine Rolle, ob Sie nur wissen, wie man Vuex verwendet. Jeder kann die Dokumentation lesen und den Code eingeben. Möchten Sie nicht wissen, wie Vuex implementiert wird? !
Lassen wir den Quellcode von vuex beiseite und überlegen wir uns zunächst, wie man ein einfaches „vuex“ implementiert. Wie einfach ist das? Ich möchte keine Getter, Mutationen, Aktionen usw., ich möchte nur den Status.
Nicht-Eltern-Kind-Komponentenkommunikation
Vor der Implementierung müssen wir die Implementierung von Bus überprüfen, indem wir uns das Beispiel von der offiziellen Website leihen:
var bus = new Vue() // 触发组件 A 中的事件 bus.$emit('id-selected', 1) // 在组件 B 创建的钩子中监听事件 bus.$on('id-selected', function (id) { // ... })
Wenn ich an diese Tage zurückdenke, wusste ich nicht, wo ich den instanziierten Bus platzieren sollte, also hatte ich keine andere Wahl, als ihn unter Windows zu platzieren und weiterhin window.bus zu verwenden. Obwohl dies in Ordnung ist, wirkt es sich dennoch auf den globalen Geltungsbereich aus.
Eines Tages stellte ich plötzlich fest, dass ich es unter der Root-Instanz von Vue mounten konnte (verabschieden Sie sich von nun an von window.bus), also kam ich auf:
var app = new Vue({ el: '#app', bus: bus }) // 使用 bus app.$options.bus // or this.$root.$options.bus
Dann habe ich entdeckte, dass der Bus tatsächlich nicht nur über Ereignisse kommunizieren kann. Tatsächlich ist Bus eine Vue-Instanz, auf die Daten reagieren. Beispielsweise gibt es unter der Root-Instanz der App zwei nicht übergeordnete und untergeordnete Komponenten, die beide Busdaten verwenden und daher synchron reagieren.
var bus = new Vue({ data: { count: 0 } })
Oben ändert Unterkomponente a die Anzahl. Wenn Unterkomponente b die Anzahl verwendet, kann sie auf den neuesten Zählwert reagieren.
Haben Sie es nach so viel Reden noch nicht entdeckt? Geht es dabei nicht nur darum, die Kommunikation zwischen Nichtkomponenten zu realisieren, den Zustand von Vuex? !
Bus kapseln
Ja, kapseln Sie den Bus gerade. Dies ist das einfachste „Vuex“ (nur mit der Funktion „Zustand“). Zuerst haben wir eine Root-Instanz-App mit zwei Nicht-Eltern-Kind-Komponenten childA und childB .
Die Implementierung des HTML-Codes ist wie folgt:
<p id="app"> <child-a></child-a> <child-b></child-b> </p>
Implementierung der Nicht-Eltern-Kind-Komponente
Dann gibt es zwei Nicht-Eltern- Untergeordnete Komponenten und die Implementierung von App und untergeordneter Komponente verwenden beide die Anzahl des Busses, der hier durch store.state dargestellt wird, was mit vuex übereinstimmt:
// 待实现 const store = new Store(Vue, { state: { count: 0 } }) // 子组件 a const childA = { template: '<button @click="handleClick">click me</button>', methods: { handleClick () { this.$store.state.count += 1 } } } // 子组件 b const childB = { template: '<p>count: {{ count }}</p>', computed: { count () { return this.$store.state.count } } } new Vue({ el: '#app', components: { 'child-a': childA, 'child-b': childB }, store: store })
Stellen Sie sicher, dass es einen Store gibt, in dem implementiert werden kann der Code. Die erforderlichen Parameter, da ich zu faul bin, Vue.use () hier zu verwenden, übergebe ich Vue direkt als Parameter zur Verwendung, und dann stimmt der zweite Parameter mit dem Parameter überein, den wir mit vuex übergeben haben.
Implementierung von Store
Der nächste Schritt ist die Implementierung von Store, eine zweistufige Implementierung:
Erstellen Sie eine bus-Instanz;
Alle untergeordneten Komponenten auf this.$store zugreifen lassen.
Der erste Schritt wurde bereits oben erwähnt. Der zweite Schritt verwendet hauptsächlich Vue.mixin für die globale Mischung, findet jedoch lediglich die Root-Instanz mit dem Store und weist den Store dem Vue-Prototyp zu . Es ermöglicht auch das Einmischen der Root-Instanz-App, ohne dass speziell Mixins geschrieben werden müssen. Der von
class Store { constructor (Vue, options) { var bus = new Vue({ data: { state: options.state } }) this.install(Vue, bus) } install (Vue, bus) { Vue.mixin({ beforeCreate () { if (this.$options.store) { Vue.prototype.$store = bus } } }) } }
implementierte Store ist ein einfacher „vuex“ mit dem Status „vuex“, der ausreicht, um eine einfache Kommunikation zwischen nicht übergeordneten und untergeordneten Komponenten zu ermöglichen.
Erstellen Sie eine Businstanz im Konstruktor von Store und fügen Sie sie in den Prototyp von Vue ein, damit alle Komponenten auf diesen.$store zugreifen können, der die Businstanz ist. this.$store ist eine Vue-Instanz. Durch den Zugriff auf this.$store.state.count wird also tatsächlich auf Daten zugegriffen, wodurch eine Antwortsynchronisierung zwischen nicht übergeordneten und untergeordneten Komponenten erreicht wird. Der gesamte Quellcode ist hier verfügbar.
Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.
Verwandte Artikel:
Was sind die Sicherheitslücken bei der Verwendung von Timing-Angriffen in Knotenanwendungen?
Einseitige Implementierung in Vue-Komponentenlieferungsobjektbindung, wie geht das?
So verwenden Sie TypeScript in Vue-Komponenten (ausführliches Tutorial)
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Implementierung von Vuex (ausführliches Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Seriennummer der Festplatte ist eine wichtige Kennung der Festplatte und dient in der Regel zur eindeutigen Identifizierung der Festplatte und zur Identifizierung der Hardware. In einigen Fällen müssen wir möglicherweise die Seriennummer der Festplatte abfragen, beispielsweise bei der Installation eines Betriebssystems, der Suche nach dem richtigen Gerätetreiber oder der Durchführung von Festplattenreparaturen. In diesem Artikel werden einige einfache Methoden vorgestellt, mit denen Sie die Seriennummer der Festplatte überprüfen können. Methode 1: Verwenden Sie die Windows-Eingabeaufforderung, um die Eingabeaufforderung zu öffnen. Drücken Sie im Windows-System die Tasten Win+R, geben Sie „cmd“ ein und drücken Sie die Eingabetaste, um den Befehl zu öffnen

Wie schreibe ich einen einfachen Generator für Schülerleistungsberichte mit Java? Der Student Performance Report Generator ist ein Tool, das Lehrern und Erziehern dabei hilft, schnell Berichte über die Schülerleistung zu erstellen. In diesem Artikel wird erläutert, wie Sie mit Java einen einfachen Generator für Schülerleistungsberichte schreiben. Zuerst müssen wir das Studentenobjekt und das Studentennotenobjekt definieren. Das Schülerobjekt enthält grundlegende Informationen wie den Namen und die Schülernummer des Schülers, während das Schülerergebnisobjekt Informationen wie die Fachnoten und die Durchschnittsnote des Schülers enthält. Das Folgende ist die Definition eines einfachen Studentenobjekts: öffentlich

So schreiben Sie ein einfaches Online-Reservierungssystem mit PHP Mit der Popularität des Internets und dem Streben der Benutzer nach Bequemlichkeit werden Online-Reservierungssysteme immer beliebter. Ganz gleich, ob es sich um ein Restaurant, ein Krankenhaus, einen Schönheitssalon oder eine andere Dienstleistungsbranche handelt, ein einfaches Online-Reservierungssystem kann die Effizienz steigern und den Benutzern ein besseres Serviceerlebnis bieten. In diesem Artikel wird erläutert, wie Sie mit PHP ein einfaches Online-Reservierungssystem schreiben und spezifische Codebeispiele bereitstellen. Datenbank und Tabellen erstellen Zuerst müssen wir eine Datenbank erstellen, um Reservierungsinformationen zu speichern. In MyS

Schnellstart: Implementierung eines einfachen Bibliotheksverwaltungssystems mithilfe von Go-Sprachfunktionen Einführung: Mit der kontinuierlichen Entwicklung auf dem Gebiet der Informatik werden die Anforderungen an Softwareanwendungen immer vielfältiger. Als allgemeines Verwaltungsinstrument ist das Bibliotheksverwaltungssystem auch für viele Bibliotheken, Schulen und Unternehmen zu einem der notwendigen Systeme geworden. In diesem Artikel werden wir Go-Sprachfunktionen verwenden, um ein einfaches Bibliotheksverwaltungssystem zu implementieren. Anhand dieses Beispiels können Leser die grundlegende Verwendung von Funktionen in der Go-Sprache erlernen und lernen, wie man ein praktisches Programm erstellt. 1. Designideen: Lassen Sie uns zuerst

Wie schreibe ich ein einfaches Musikempfehlungssystem in C++? Einleitung: Das Musikempfehlungssystem ist ein Forschungs-Hotspot in der modernen Informationstechnologie. Es kann Benutzern Songs basierend auf ihren Musikpräferenzen und Verhaltensgewohnheiten empfehlen. In diesem Artikel wird erläutert, wie Sie mit C++ ein einfaches Musikempfehlungssystem schreiben. 1. Benutzerdaten sammeln Zuerst müssen wir die Musikpräferenzdaten der Benutzer sammeln. Durch Online-Umfragen, Fragebögen etc. können die Vorlieben der Nutzer für verschiedene Musikrichtungen ermittelt werden. Speichern Sie Daten in einer Textdatei oder Datenbank

Wie schreibe ich ein einfaches Minesweeper-Spiel in C++? Minesweeper ist ein klassisches Puzzlespiel, bei dem die Spieler alle Blöcke entsprechend der bekannten Anordnung des Minenfelds aufdecken müssen, ohne auf die Minen zu treten. In diesem Artikel stellen wir vor, wie man mit C++ ein einfaches Minesweeper-Spiel schreibt. Zuerst müssen wir ein zweidimensionales Array definieren, um die Karte des Minesweeper-Spiels darzustellen. Jedes Element im Array kann eine Struktur sein, die zum Speichern des Status des Blocks verwendet wird, z. B. ob er aufgedeckt ist, ob Minen vorhanden sind usw. Darüber hinaus müssen wir auch definieren

Vorwort: Vor kurzem wollte ich die Entwicklungsumgebung plötzlich auf Linux übertragen. Gleichzeitig bereitete ich mich darauf vor, einige Open-Source-Codes auf Github zu lesen. Dabei stellte ich fest, dass Open-Source-Projekte jetzt im Allgemeinen mit cmake verwaltet werden. Also habe ich einfach auf meiner eigenen virtuellen Maschine daran herumgebastelt. Ich wusste zunächst nicht, was cmake ist, aber später verstand ich durch einiges Fummeln ungefähr seine Rolle. Es teilt dem Compiler tatsächlich mit, wie er den Quellcode kompilieren und verknüpfen soll. Vielleicht möchten Sie fragen, warum Sie ein Makefile benötigen, wenn es kein Makefile gibt. Dies beinhaltet plattformübergreifende Probleme. Unter der Windows-Plattform werden diese über Projektdateien verwaltet. Wenn cmake nicht verwendet wird, müssen wir entsprechende Projektdateien schreiben und für Windows- und Linux-Systeme erstellen.

MySQL-Tabellendesign-Leitfaden: Erstellen einer einfachen Mitarbeiteranwesenheitstabelle In der Unternehmensführung ist die Verwaltung der Mitarbeiteranwesenheit eine entscheidende Aufgabe. Um die Anwesenheit der Mitarbeiter genau zu erfassen und zu zählen, können wir mithilfe der MySQL-Datenbank eine einfache Anwesenheitsliste der Mitarbeiter erstellen. In diesem Artikel erfahren Sie, wie Sie diese Tabelle entwerfen und erstellen und entsprechende Codebeispiele bereitstellen. Zunächst müssen wir die erforderlichen Felder für die Anwesenheitsliste der Mitarbeiter identifizieren. Im Allgemeinen müssen Anwesenheitslisten von Mitarbeitern mindestens die folgenden Felder enthalten: Mitarbeiter-ID, Datum, Arbeitszeit, dienstfreie Zeit
