So verstehen Sie den einfachen Speichermodus der Statusverwaltung von Vue

So verstehen Sie den einfachen Speichermodus der Statusverwaltung von Vue

Überblick

Die Implementierungsidee des Store-Statusverwaltungsmodus ist sehr einfach: Sie besteht darin, ein Store-Objekt mit einem Statusattribut zum Speichern gemeinsam genutzter Daten und Methoden zum Bedienen dieser gemeinsam genutzten Daten zu definieren. In der Komponente werden die gemeinsam genutzten Daten von store.state als Teil oder als Gesamtheit der Daten verwendet. Beim Ändern der gemeinsam genutzten Daten im store.state-Objekt muss die vom Store bereitgestellte Schnittstelle aufgerufen werden, um die gemeinsam genutzten Daten zu ändern.

Nachfolgend finden Sie eine einfache To-Do-Liste-Demo zur Einführung in den Store-Statusverwaltungsmodus.

1. Definieren Sie store.js

//store.js
exportiere const store = {
    Zustand: {
        alle Aufgaben:
            {text: 'Chinesisch-Hausaufgaben schreiben', erledigt: false},
            {text: 'Mathetest machen', erledigt: false}
        ]
    },
    addTodo(str){
        const obj = {text: str, fertig: false}
        dieser.Status.todos.push(Objekt)
    },
    setFertig(index){
        dieser.Zustand.todos[index].done = true
    }
}

2. Komponenten, die store.js verwenden

//A.vue
<Vorlage>
    <div Klasse="A">
        Ich bin Komponente A<ul>
           <li v-for="(Aufgaben,Index) in Aufgaben" 
           :Schlüssel="index" :Klasse="todo.done?'done':''" @click="setDone(index)">
           {{todo.text}}
           </li>
       </ul>
    </div>
</Vorlage>

<Skript>
importiere {store} aus '../store/store.js'
Standard exportieren {
    Name: "A",
    Daten(){
        store.state zurückgeben
    },
    Methoden: {
        setFertig(index){
            store.setDone(index)
        }
    }
}
</Skript>

<Stilbereich>
.A{
    Hintergrund: rot;
    Farbe: weiß;
    Polsterung: 20px;
}
.A li.done{
    Hintergrund: grün;
}
</Stil>
//B.vue
<Vorlage>
    <div Klasse="B">
        <div>
            Ich bin Komponente B, trage die Aufgabe in das Eingabefeld unten ein und füge die Aufgabe in Komponente A hinzu</div>
        <Eingabetyp="Text" v-Modell="Text">
        <button @click="addTodo">Aufgabe hinzufügen</button>
    </div>
</Vorlage>

<Skript>
importiere {store} aus '../store/store.js'
Standard exportieren {
    Name: 'B',
    Daten(){
        zurückkehren {
            text: ''
        }
    },
    Methoden:{
        addTodo(){
            wenn(dieser.text){
                store.addTodo(dieser.text)
            }
        }
    }
}
</Skript>

<Stilbereich>
.B{
    Hintergrund: gelb;
    Polsterung: 20px;
}
</Stil>
//App.vue
<Vorlage>
  <div id="app">
    <A />
    <B />
  </div>
</Vorlage>

<Skript>

importiere A aus './components/A.vue'
importiere B aus './components/B.vue'

Standard exportieren {
  Name: "App",
  Komponenten:
    A,
    B
  }
}
</Skript>

3. Ergebnisse erzielen

Es ist ersichtlich, dass die in Komponente A angezeigten Daten in Komponente B hinzugefügt und geändert werden. Dabei handelt es sich um eine Datenkommunikation durch Datenfreigabe. Auf diese Weise wird der einfache Speichermodus verwendet.

Oben finden Sie Einzelheiten zum Verständnis des Speichermodus der einfachen Statusverwaltung von Vue. Weitere Informationen zum Speichermodus der einfachen Statusverwaltung von Vue finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So verwenden Sie Provide zur Implementierung der Statusverwaltung in Vue3
  • Detailliertes Beispiel für die Statusverwaltung der Hilfsfunktion der Vue-Frontend-Entwicklung
  • Der praktische Prozess des Login-Status-Managements im vuex-Projekt
  • Erfahren Sie schnell, wie Sie mit der Vuex-Statusverwaltung in Vue3.0 beginnen
  • Anwendung der MapState-Idee in Vuex
  • So verwenden Sie Vuex in einem Vue-Projekt
  • Verwendung des Vuex-Namespace
  • Vue-Statusverwaltung: Verwendung von Pinia statt Vuex

<<:  Ursachenanalyse und Lösung des E/A-Fehlers beim Löschen einer MySQL-Tabelle

>>:  Ubuntu-Grundlagen-Tutorial: apt-get-Befehl

Artikel    

Artikel empfehlen

Implementierung einer benutzerdefinierten Vue-Vorlage von vscode

Verwenden Sie den Vscode-Editor, um eine Vue-Vorl...

Grundlegender JSON-Betriebsleitfaden in MySQL 5.7

Vorwort Aufgrund der Projektanforderungen werden ...

Lassen Sie uns über Parameter in MySQL sprechen

Vorwort: In einigen früheren Artikeln haben wir h...

Vue3-Zeitstempelkonvertierung (ohne Verwendung von Filtern)

Wenn vue2 Zeitstempel konvertiert, verwendet es i...

Floaten und Floaten löschen in der Übersichtsseite

1. Float: Der Hauptzweck besteht darin, den Effek...

Zwei Verwendungen von iFrame-Tags in HTML

Ich habe kürzlich an einem Projekt gearbeitet – B...

Vier Möglichkeiten zum Wechseln von Registerkarten in VUE

Inhaltsverzeichnis 1. Statische Implementierungsm...

MySQL 5.7.18 Installations- und Konfigurations-Tutorial unter Windows

In diesem Artikel finden Sie das Installations- u...

Üben Sie die Verwendung von Golang, um mit der Docker-API zu spielen

Inhaltsverzeichnis Installieren des SDK Lokalen D...

Probleme und Lösungen bei der Installation von Docker in der Alibaba Cloud

Frage Bei der Installation von Docker mithilfe de...