如何在 uniapp 中使用 vuex?安裝 vuex 依賴。創建 vuex 存儲以管理應用程序狀態和邏輯。通過 this.$store 從組件中訪問 vuex 存儲。使用映射助手將 vuex 操作和狀態綁定到組件中。對于大型應用程序,可以將 vuex 存儲拆分為多個模塊。
如何在 UniApp 中使用 Vuex
簡介
Vuex 是一個狀態管理工具,它允許你在 Vue.js 應用中集中管理應用程序的狀態和邏輯。UniApp 作為一款跨平臺開發框架,也支持使用 Vuex。
安裝 Vuex
首先,使用以下命令安裝 Vuex 依賴:
<code class="bash">npm install vuex --save</code>
登錄后復制
或者
<code class="bash">yarn add vuex</code>
登錄后復制
創建 Vuex 存儲
接下來,創建一個 Vuex 存儲,它將包含應用程序的狀態和邏輯。
<code class="javascript">// store/index.js import Vuex from 'vuex' import Vue from 'vue' Vue.use(Vuex) const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment (state) { state.count++ } }, actions: { incrementAsync ({ commit }) { setTimeout(() => { commit('increment') }, 1000) } }, getters: { getCount (state) { return state.count } } }) export default store</code>
登錄后復制
在組件中使用 Vuex
要從組件中訪問 Vuex 存儲,可以使用 this.$store
。
<code class="javascript">// App.vue <template><div>{{ this.$store.state.count }}</div> <button>Increment</button> <button>Increment Async</button> </template><script> import { mapActions } from 'vuex' export default { methods: { ...mapActions([ 'increment', 'incrementAsync' ]) } } </script></code>
登錄后復制
模塊化 Vuex 存儲
對于大型應用程序,將 Vuex 存儲拆分為多個模塊很有用。每個模塊都可以管理其自己的狀態和邏輯。
<code class="javascript">// store/index.js import Vuex from 'vuex' import Vue from 'vue' import counter from './modules/counter' Vue.use(Vuex) const store = new Vuex.Store({ modules: { counter } }) export default store</code>
登錄后復制
<code class="javascript">// store/modules/counter.js export default { state: { count: 0 }, mutations: { increment (state) { state.count++ } }, actions: { incrementAsync ({ commit }) { setTimeout(() => { commit('increment') }, 1000) } }, getters: { getCount (state) { return state.count } } }</code>
登錄后復制
提示
在應用程序啟動時創建 Vuex 存儲。
從組件中使用 this.$store
訪問 Vuex 存儲。
通過使用映射助手(例如 mapActions
和 mapState
)將 Vuex 操作和狀態綁定到組件中。
可以按照需要將 Vuex 存儲拆分為多個模塊。