Vue3.0 setup 里使用 vuex
在store中创建如图所示目录结构
user.js
index.js
import { createApp } from '@vue/runtime-dom'
import { createStore } from 'vuex'
const modulesFiles = require.context('./modules', true, /.js$/)
//自动导入modules目录下的模块
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
const value = modulesFiles(modulePath)
modules[moduleName] = value.default
return modules
}, {})
export default createStore({
modules
})
组件上使用:
import { computed } from "vue";
import { useStore } from "vuex";
export default {
setup() {
const store = useStore(); //获取store实例
const user = computed(() => store.getters);
console.log(user);
return { user};
}
}