


Erste Schritte mit der VUE3-Entwicklung: Verwendung von Vuex State Management
VUE3 ist eine aufregende neue Generation des VUE-Frameworks, das Leistung, Wartbarkeit und Entwicklungserfahrung erheblich verbessert. In VUE3 ist Vuex ein sehr wichtiges Statusverwaltungstool, das uns dabei helfen kann, den Status der Anwendung besser zu verwalten.
In diesem Artikel wird die Verwendung von Vuex in VUE3 vorgestellt, einschließlich der Erstellung eines Vuex-Speichers, der Verwendung von Vuex in Komponenten, der Durchführung asynchroner Vorgänge in Vuex, der Verwendung von Plug-Ins usw.
Vuex-Store erstellen
Zuerst müssen wir Vuex installieren:
npm install vuex@next
Als nächstes können wir zum Erstellen eines Vuex-Stores den folgenden Code zur Eintragsdatei von VUE3 (z. B. main.js) hinzufügen:
import { createApp } from 'vue' import App from './App.vue' import store from './store' const app = createApp(App) app.use(store) app.mount('#app')
Hier , übergeben wir „Use createApp
“, um eine VUE-Instanz zu erstellen, und verwenden dann das Plug-in „store
“, um den Vuex-Store zur Anwendung hinzuzufügen. Jetzt müssen wir einen Store-Ordner erstellen und dann darin eine index.js-Datei erstellen: createApp
创建了一个VUE实例,然后使用了store
插件将Vuex store添加到应用程序中。现在我们需要创建一个store文件夹,然后在里面创建一个index.js文件:
import { createStore } from 'vuex' const store = createStore({ state() { return { count: 0 } }, mutations: { increment(state) { state.count++ } } }) export default store
在这里,我们首先使用createStore
函数创建了一个Vuex store,并指定了一个初始状态count: 0
。然后,我们定义了一个名为increment
的mutation,它以state
作为参数,并将state.count
递增1。最后,我们将store导出,以便在应用程序中使用。
在组件中使用Vuex
现在我们已经创建了Vuex store,接下来我们将在组件中使用它。我们将在一个Counter组件中使用count
和increment
mutation。
<template> <div> <p>Count: {{ count }}</p> <button @click="increment">Increment Count</button> </div> </template> <script> export default { computed: { count() { return this.$store.state.count } }, methods: { increment() { this.$store.commit('increment') } } } </script>
在这里,我们首先使用计算属性count
获取store.state.count
的当前值,然后在按钮上添加了一个点击事件,调用了increment
mutation。
现在我们可以在应用程序中使用Counter组件,并且它将自动连接到Vuex store。
异步操作
有时,我们需要在Vuex store中执行异步操作,例如发送HTTP请求。在这种情况下,我们可以使用示例代码中的actions
选项。
import { createStore } from 'vuex' const store = createStore({ state() { return { todos: [] } }, mutations: { setTodos(state, todos) { state.todos = todos } }, actions: { async fetchTodos({ commit }) { const response = await fetch('/api/todos') const todos = await response.json() commit('setTodos', todos) } } }) export default store
在这里,我们首先定义了一个名为setTodos
的mutation,并将传入的todos
参数设置为state.todos
。然后,我们使用actions
选项定义了一个名为fetchTodos
的操作,它将触发异步操作来获取todos数据,并在完成后调用commit
来触发setTodos
mutation。
使用插件
我们可以使用插件来扩展Vuex store的功能。例如,我们可以使用vuex-persistedstate
插件来使Vuex store持久化,以便每次刷新页面都不会重置store的状态。
首先,我们需要安装插件:
npm install vuex-persistedstate
然后,我们可以将插件添加到store中:
import { createStore } from 'vuex' import createPersistedState from 'vuex-persistedstate' const store = createStore({ // ... plugins: [createPersistedState()] }) export default store
在这里,我们从vuex-persistedstate
导入了createPersistedState
rrreee
createStore
und geben einen Anfangsstatuscount an : 0. Dann definieren wir eine Mutation namens increment
, die state
als Parameter verwendet und state.count
um 1 erhöht. Schließlich exportieren wir den Store zur Verwendung in unserer Anwendung. Vuex in einer Komponente verwendenDa wir nun den Vuex-Store erstellt haben, werden wir ihn in einer Komponente verwenden. Wir werden count
und increment
mutation in einer Counter-Komponente verwenden. rrreee
Hier verwenden wir zunächst die berechnete Eigenschaftcount
, um den aktuellen Wert von store.state.count
abzurufen, und fügen dann ein Klickereignis auf der Schaltfläche hinzu, das InkrementMutation. 🎜🎜Jetzt können wir die Counter-Komponente in unserer Anwendung verwenden und sie stellt automatisch eine Verbindung zum Vuex-Store her. 🎜🎜Asynchrone Vorgänge🎜🎜Manchmal müssen wir asynchrone Vorgänge im Vuex-Speicher ausführen, z. B. das Senden von HTTP-Anfragen. In diesem Fall können wir die Option actions
im Beispielcode verwenden. 🎜rrreee🎜Hier definieren wir zunächst eine Mutation mit dem Namen setTodos
und setzen den eingehenden Parameter todos
auf state.todos
. Anschließend definieren wir mithilfe der Option actions
eine Aktion namens fetchTodos
, die einen asynchronen Vorgang auslöst, um die Todos-Daten abzurufen und nach Abschluss commit
aufzurufen. code> um eine setTodos
-Mutation auszulösen. 🎜🎜Plugins verwenden🎜🎜Wir können Plugins verwenden, um die Funktionalität des Vuex-Stores zu erweitern. Beispielsweise können wir das Plugin vuex-persistedstate
verwenden, um den Vuex-Store dauerhaft zu machen, sodass der Status des Stores nicht bei jeder Aktualisierung der Seite zurückgesetzt wird. 🎜🎜Zuerst müssen wir das Plugin installieren: 🎜rrreee🎜 Dann können wir das Plugin zum Store hinzufügen: 🎜rrreee🎜Hier haben wir createPersistedState
aus vuex-persistedstate
importiert > Funktion und fügen Sie sie dann als Plugin zum Store hinzu. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel haben wir gelernt, wie man die Vuex-Statusverwaltung in VUE3 verwendet. Wir haben gelernt, wie man einen Vuex-Store erstellt, wie man Vuex in Komponenten verwendet, wie man asynchrone Vorgänge in Vuex durchführt und wie man Plugins verwendet, um die Funktionalität von Vuex zu erweitern. 🎜🎜Die Verwendung von Vuex kann uns helfen, den Status unserer Anwendung besser zu verwalten, unsere Anwendung wartbarer zu machen und eine bessere Grundlage für zukünftige Erweiterungen zu schaffen. 🎜Das obige ist der detaillierte Inhalt vonErste Schritte mit der VUE3-Entwicklung: Verwendung von Vuex State Management. 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

Durch die Verwendung von ECharts in Vue können Sie Ihrer Anwendung ganz einfach Datenvisualisierungsfunktionen hinzufügen. Zu den spezifischen Schritten gehören: Installieren von ECharts- und Vue ECharts-Paketen, Einführung von ECharts, Erstellen von Diagrammkomponenten, Konfigurieren von Optionen, Verwenden von Diagrammkomponenten, Anpassen von Diagrammen an Vue-Daten, Hinzufügen interaktiver Funktionen und Verwenden erweiterter Verwendungsmöglichkeiten.

Frage: Welche Rolle spielt der Exportstandard in Vue? Detaillierte Beschreibung: Exportstandard definiert den Standardexport der Komponente. Beim Importieren werden Komponenten automatisch importiert. Vereinfachen Sie den Importvorgang, verbessern Sie die Übersichtlichkeit und vermeiden Sie Konflikte. Wird häufig zum Exportieren einzelner Komponenten verwendet, wobei sowohl benannte als auch Standardexporte verwendet werden und globale Komponenten registriert werden.

Die Kartenfunktion von Vue.js ist eine integrierte Funktion höherer Ordnung, die ein neues Array erstellt, wobei jedes Element das transformierte Ergebnis jedes Elements im ursprünglichen Array ist. Die Syntax lautet map(callbackFn), wobei callbackFn jedes Element im Array als erstes Argument empfängt, optional den Index als zweites Argument, und einen Wert zurückgibt. Die Kartenfunktion ändert das ursprüngliche Array nicht.

In Vue.js ist event ein natives JavaScript-Ereignis, das vom Browser ausgelöst wird, während $event ein Vue-spezifisches abstraktes Ereignisobjekt ist, das in Vue-Komponenten verwendet wird. Im Allgemeinen ist die Verwendung von $event bequemer, da es so formatiert und erweitert ist, dass es die Datenbindung unterstützt. Verwenden Sie „event“, wenn Sie auf bestimmte Funktionen des nativen Ereignisobjekts zugreifen müssen.

onMounted ist ein Lebenszyklus-Hook für die Komponentenmontage in Vue. Seine Funktion besteht darin, Initialisierungsvorgänge durchzuführen, nachdem die Komponente im DOM bereitgestellt wurde, z. B. das Abrufen von Referenzen auf DOM-Elemente, das Festlegen von Daten, das Senden von HTTP-Anforderungen, das Registrieren von Ereignis-Listenern usw. Es wird nur einmal aufgerufen, wenn die Komponente gemountet wird. Wenn Sie Vorgänge ausführen müssen, nachdem die Komponente aktualisiert wurde oder bevor sie zerstört wurde, können Sie andere Lebenszyklus-Hooks verwenden.

Es gibt zwei Möglichkeiten, Module in Vue.js zu exportieren: Export und Export Default. export wird zum Exportieren benannter Entitäten verwendet und erfordert die Verwendung von geschweiften Klammern; export default wird zum Exportieren von Standardentitäten verwendet und erfordert keine geschweiften Klammern. Beim Importieren müssen per Export exportierte Entitäten ihre Namen verwenden, während per Exportstandard exportierte Entitäten implizit verwendet werden können. Es wird empfohlen, die Export-Standardeinstellung für Module zu verwenden, die mehrmals importiert werden müssen, und die Export-Standardeinstellung für Module, die nur einmal exportiert werden müssen.

Vue-Hooks sind Rückruffunktionen, die Aktionen bei bestimmten Ereignissen oder Lebenszyklusphasen ausführen. Dazu gehören Lebenszyklus-Hooks (wie beforeCreate, mount, beforeDestroy), Event-Handling-Hooks (wie click, input, keydown) und benutzerdefinierte Hooks. Hooks verbessern die Komponentenkontrolle, reagieren auf Komponentenlebenszyklen, verarbeiten Benutzerinteraktionen und verbessern die Wiederverwendbarkeit von Komponenten. Um Hooks zu verwenden, definieren Sie einfach die Hook-Funktion, führen Sie die Logik aus und geben Sie einen optionalen Wert zurück.

Vue.js-Ereignismodifikatoren werden verwendet, um bestimmte Verhaltensweisen hinzuzufügen, darunter: Verhindern von Standardverhalten (.prevent), Stoppen von Ereignisblasen (.stop), Einmaliges Ereignis (.once), Erfassen von Ereignissen (.capture), Passives Abhören von Ereignissen (.passive), Adaptiv Modifikator (.self)Schlüsselmodifikator (.key)
