Eine kurze Diskussion zu this.$store.state.xx.xx in Vue

Eine kurze Diskussion zu this.$store.state.xx.xx in Vue

Sehen Sie sich dies an.$store.state.xx.xx

this.$store.state.xx.xx ist eigentlich das von Vue verwendete Statusverwaltungstool Vuex

Offizielle Vuex-Website: https://vuex.vuejs.org/zh/

Es fühlt sich an, als würde der gemeinsame Status der Komponenten extrahiert und in einem globalen Singleton-Modus verwaltet. In diesem Modus bildet unser Komponentenbaum eine riesige „Ansicht“, und jede Komponente kann einen Status abrufen oder Verhalten auslösen, unabhängig davon, wo sie sich im Baum befindet! (Sie können jederzeit und überall im Projekt darauf zugreifen und es dynamisch ändern. Nach der Änderung aktualisiert Vue Ihr gesamtes Projekt.)

Daten aus dem Store abrufen

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Registrieren Sie den Store in der Vue-Stammdatei, damit alle Komponenten die Daten im Store verwenden können

Meine Projektdateistruktur

Bildbeschreibung hier einfügen

Registrieren Sie den Store in der Datei main.js

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Dann wird der Code geschrieben

Bildbeschreibung hier einfügen

Nach der Anmeldung speichert das Frontend die Benutzer-ID im Cache und durchsucht sie anschließend.

Diese Position wird auf der öffentlichen Seite verwendet

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Zusammenfassung: main.js ist der Gildenboss. Sie geben dem Boss die Belohnung und der Boss gibt Ihnen einige Requisiten, die Sie verwenden können, damit Sie sie verwenden können.

Wann verwenden Vue-Projekte store.state, $store.state und this.$store.s

speichern und [dieses.]$store

Kurz gesagt, wenn Sie den Store in die Stammkomponente einfügen, können Sie this.$store.xxxx direkt in allen .vue-Dateien verwenden.

Offizielle Vue-Website: Um in einer Vue-Komponente auf this.$store.property zuzugreifen, müssen Sie der Vue-Instanz den erstellten Store bereitstellen. Vuex bietet einen Mechanismus zum „Einfügen“ des Stores aus der Stammkomponente in alle untergeordneten Komponenten als Store-Option.

//main.js
Store aus „./store“ importieren
neuer Vue({
  el: '#app',
  speichern, //Root-Komponenten-Injektionsspeicher
})
//index.vue
getData() {
 zurückkehren {
  Benutzer-ID: this.$store.state.user.userId,
  ......
 }
}

Wenn Sie Store in einer JS-Datei verwenden möchten, müssen Sie zuerst Store aus „@/store“ importieren und dann Store.xxx verwenden, da this.$store nicht in JS gedruckt werden kann.

// src/test.js Dateiimportspeicher aus „./store/“;
console.log(speichern)
console.log(dies) // undefiniert
console.log(this.$store) // meldet einen Fehler 

this.$store und $store

$store wird auf der Vue-Instanz (d. h. Vue.prototype) gemountet, und die Komponente ist tatsächlich eine Vue-Instanz. Sie können dies in der Komponente verwenden, um auf die Eigenschaften des Prototyps zuzugreifen.

<template> hat den Kontext der Komponenteninstanz, auf den direkt über {{$store.state.XXX }} zugegriffen werden kann, was im Skript this.$store.state.XXX entspricht

Betrachten Sie $store einfach als eine Variable, die in Daten zurückgegeben wird. Sie müssen dies hinzufügen, wenn Sie es im folgenden Skript verwenden, aber nicht in der obigen Vorlage.

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Vuex-Methode zum Abrufen des Vuex-Status in der Vue-Komponente
  • Lösung für den Fehler bei der Verwendung von this.$store oder $route in Vue
  • Detaillierte Erläuterung der beiden Möglichkeiten der Vuex-Datenübertragung und der Lösung hierfür.$store undefined
  • 5 Möglichkeiten zur Verwendung des Statusobjekts von Vuex
  • Detaillierte Erklärung zur Überwachung des Status in Vuex in Komponenten

<<:  Analyse des Prinzips und der Verwendung von MySQL-Benutzerdefinierten Funktionen

>>:  Detaillierte Erläuterung des Implementierungsprozesses der Nginx-Protokoll-Timing-Aufteilung in CentOS 7

Artikel empfehlen

Ein MySQL-Migrationsplan und eine praktische Auflistung der Fallstricke

Inhaltsverzeichnis Hintergrund Lösung 1: Alte Dat...

Das WeChat-Applet implementiert eine einfache Taschenrechnerfunktion

WeChat-Applet: Einfacher Rechner. Zu Ihrer Inform...

So vergessen Sie das Root-Passwort in Mysql8.0.13 unter Windows 10

1. Stoppen Sie zuerst den MySQL-Dienst Öffnen Sie...

Lösen Sie das Problem, dass ifconfig im Docker nicht verfügbar ist

Als ich kürzlich Docker lernte, stellte ich fest,...

Welche Arten von MySQL-Verbindungsabfragen kennen Sie?

Vorwort Wenn die Abfrageinformationen aus mehrere...

Tutorial zur Installation des AutoFs-Mount-Dienstes unter Linux

Unabhängig davon, ob es sich um einen Samba-Diens...

Beispiele für die Verwendung des Linux-Touch-Befehls

Detaillierte Erklärung des Linux-Touch-Befehls: 1...

HTML verwendet reguläre Ausdrücke zum Testen von Tabellenbeispielen

Hier ist ein Beispielcode für die Verwendung regu...

JS implementiert Karussell mit mehreren Tabs

Karussell-Animationen können das Erscheinungsbild...

Häufig verwendete JavaScript-Array-Methoden

Inhaltsverzeichnis 1. filter() 2. fürJedes() 3. e...

Detailliertes Tutorial zur Springcloud-Alibaba-Nacos-Linux-Konfiguration

Laden Sie zuerst das komprimierte Nacos-Paket von...