Vue は、インタラクティブな Web アプリケーションを迅速に構築するのに役立つ人気のあるフロントエンド フレームワークです。 Vue では、コンポーネントはアプリケーションを構築するための基本単位であり、各コンポーネントは特定の機能を担当します。ただし、特にデータをグローバルに共有したい場合には、異なるコンポーネント間で通信する必要がある場合があります。そこで Vuex が登場します。
Vuex は、すべてのコンポーネントの状態を一元的に保存し、これらの状態を読み取り、更新するための一連の API を提供する Vue 状態管理モデルです。この記事では、Vuex を使用してグローバルコンポーネント通信を行う方法を紹介します。
まず、Vuex をインストールして設定する必要があります。 npm または Yarn を使用して Vuex をインストールできます:
npm install vuex
次に、プロジェクトのエントリ ファイル (通常は main.js) に Vuex をインポートして使用します:
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) // 创建Vuex实例 const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment (state) { state.count++ } }, actions: { incrementAsync ({ commit }) { setTimeout(() => { commit('increment') }, 1000) } }, getters: { getCount: state => state.count } }) new Vue({ store, render: h => h(App) }).$mount('#app')
上記の例では、A 状態を作成します。 count
という名前のアクションが定義され、increment
という名前の突然変異が定義されています。また、incrementAsync
という名前のアクションと getCount
getter という名前のアクションも定義されています。 。
次に、コンポーネントで Vuex を使用する方法を見てみましょう。
コンポーネントでは、Vue が提供する mapState
、mapMutations
、mapActions
、mapGetters
メソッドを使用して、 Vuex の使用を簡素化します。例を見てみましょう:
<template> <div> <div>Count: {{ count }}</div> <div> <button @click="increment">Increment</button> <button @click="incrementAsync">Increment Async</button> </div> </div> </template> <script> import { mapState, mapMutations, mapActions } from 'vuex' export default { computed: { ...mapState(['count']) }, methods: { ...mapMutations(['increment']), ...mapActions(['incrementAsync']) } } </script>
上記の例では、mapState
メソッドを使用して、count
状態をコンポーネントの計算されたプロパティにマップしています。 count
変数をコンポーネント内で直接使用できます。また、mapMutations
メソッドと mapActions
メソッドを使用して、increment
メソッドと incrementAsync
メソッドをコンポーネントのメソッドにマップしました。
これで、Vuex を Vue アプリケーションに正常に統合できました。任意のコンポーネントの計算されたプロパティとメソッドを通じてグローバル状態にアクセスし、更新できます。
要約すると、グローバル コンポーネント通信に Vuex を使用する場合は、次の手順を完了する必要があります:
mapState
、mapMutations
、mapActions
、および mapGetters
メソッドを使用して、状態とメソッドを成分 。 Vuex をグローバル コンポーネント通信に使用すると、アプリケーションのコード構造が大幅に簡素化され、データの管理と共有が容易になります。この記事が Vuex の理解と使用に役立つことを願っています。
以上がVue でグローバル コンポーネント通信に vuex を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。