vue
1.下载vuex依赖
2.创建store目录store.js,然后在js中引入
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
3.在main.js引入store并挂载
import store from './store'
new Vue({
el: '#app',
store,
render: h => h(App)
})
4.store.js中
const store = new Vuex.Store({
state: {
storeInfo: '',
},
getters:{
getCount(state){ return state.storeInfo+'getters' }
},
mutations: {
storeInfo (state, val){
state.storeInfo = val
},
},
actions: {
setStoreInfo (context, val){
context.commit('storeInfo', val)
},
}
})
export default store
vue3中vuex的modules模块使用
import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
import tagsView from './modules/tagsView'
import getters from './getters'
Vue.use(Vuex)
const store = new Vuex.Store({
modules: {
user,
tagsView,
},
getters
})
export default store
vue3
import { createStore } from 'vuex'
export default createStore({
state: {
storeInfo:1,
},
getters:{
getCount(state){ return state.storeInfo+'getters-computed' }
},
mutations:{
storeInfo (state, val){
state.storeInfo = val
},
},
actions:{
setStoreInfo (context, val){
context.commit('storeInfo', val)
},
}
})
<el-button @click="handleDispatch"> 按 钮 </el-button>
<script>
import { useStore } from "vuex";
import { useRouter } from 'vue-router'
export default {
name: "index",
setup(){
let store = useStore();
const router = useRouter()
let handleDispatch = ()=> {
store.dispatch('setStoreInfo' , '获取vuex更新后的值')
router.push('/vuex')
}
return{
handleDispatch
}
}
}
</script>
{{ storeInfo }}--{{ getCount }}
import { reactive , toRefs } from 'vue'
import { useStore } from "vuex";
export default {
setup(){
let store = useStore();
const allData = reactive({
storeInfo:store.state.storeInfo,
getCount:store.getters.getCount,
})
return{...toRefs(allData)}
}
}
</script>
vue3中vuex的modules模块使用
- 创建menu.js文件
const menu = {
state: {
routeData:'阿发打发第三方'
},
mutations: {
routeData: (state, val) => {
state.routeData = val
}
},
actions: {
setRouteData (context, val){
context.commit('routeData', val)
},
}
}
export default menu
- 在store文件中的index.js文件中
import menu from './menu'
import { createStore } from 'vuex'
export default createStore({
state: {},
getters:{},
mutations:{},
actions:{},
modules:{ menu }
})
- 获取:
store.state.menu.routeData
待续。。。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)