如何在 uniapp 中使用 vuex?安裝 vuex 依賴。創(chuàng)建 vuex 存儲以管理應(yīng)用程序狀態(tài)和邏輯。通過 this.$store 從組件中訪問 vuex 存儲。使用映射助手將 vuex 操作和狀態(tài)綁定到組件中。對于大型應(yīng)用程序,可以將 vuex 存儲拆分為多個模塊。
如何在 UniApp 中使用 Vuex
簡介
Vuex 是一個狀態(tài)管理工具,它允許你在 Vue.js 應(yīng)用中集中管理應(yīng)用程序的狀態(tài)和邏輯。UniApp 作為一款跨平臺開發(fā)框架,也支持使用 Vuex。
安裝 Vuex
首先,使用以下命令安裝 Vuex 依賴:
<code class="bash">npm install vuex --save</code>
登錄后復(fù)制
或者
<code class="bash">yarn add vuex</code>
登錄后復(fù)制
創(chuàng)建 Vuex 存儲
接下來,創(chuàng)建一個 Vuex 存儲,它將包含應(yīng)用程序的狀態(tài)和邏輯。
<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>
登錄后復(fù)制
在組件中使用 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>
登錄后復(fù)制
模塊化 Vuex 存儲
對于大型應(yīng)用程序,將 Vuex 存儲拆分為多個模塊很有用。每個模塊都可以管理其自己的狀態(tài)和邏輯。
<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>
登錄后復(fù)制
<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>
登錄后復(fù)制
提示
在應(yīng)用程序啟動時創(chuàng)建 Vuex 存儲。
從組件中使用 this.$store 訪問 Vuex 存儲。
通過使用映射助手(例如 mapActions 和 mapState)將 Vuex 操作和狀態(tài)綁定到組件中。
可以按照需要將 Vuex 存儲拆分為多個模塊。






