首先vue2中vuex版本是4.x以下,vue3中使用vuex需要保證vuex版本在4.x及以上。
以下說一說怎么在vue3中使用vuex,與vue2大同小異
首先在views新建一個store文件夾,寫index.js(這里只寫demo,所以不分模塊了。只做展示使用)
import { createStore } from 'vuex' // 創建一個新的 store 實例 const store = createStore({ state () { return { count: 0 } }, mutations: { increment (state) { state.count++ } } }) export { store }
在main.js中注冊
import { createApp } from 'vue' import App from './App.vue' const app = createApp(App) app.use(store) app.mount('#app')
在組件類使用
<template> <div>{{ count }}</div> <div @click="change">觸發更新</div> </template> <script> import { useStore } from 'vuex' import { computed } from 'vue' export default { name: 'login', setup () { const store = useStore() console.log('store',store.state.count) const change = () => { console.log('觸發更新') store.commit('increment') } return { // 在 computed 函數中訪問 state count: computed(() => store.state.count), change } } }; </script> <style scoped> </style>
完成!!!