整理vuex 的基本使用。
目录结构如下:

index.js 代码如下:
import Vue from 'vue';
import Vuex from 'vuex';
import app from './modules/app';
import getters from './getters';
Vue.use(Vuex);
const store = new Vuex.Store({
modules: {
app
},
getters
});
export default store;
getters.js 代码如下:
const getters = {
menus: (state) => state.app.menus
};
export default getters;
app.js 代码如下:
const app = {
state: {
menus: [],
reload: false
},
mutations: {
SET_MENUS(state, payload) {
state.menus = payload;
}
},
actions: {
addMenus({ commit, state }, data) {
let menusArr = state.menus;
for(let i in menusArr){
if(menusArr[i].id==data.id){
return;
}
}
menusArr.push(data);
commit('SET_MENUS', menusArr);
},
setMenus({ commit, state }, data) {
commit('SET_MENUS', data);
}
}
};
export default app;
下面是在组件中的使用:
import { mapGetters, mapActions } from "vuex";
computed: {
...mapGetters(["menus"])
},
methods: {
...mapActions(["addMenus"]),
}
整理完毕,。如果还是不理解,请查看vuex官方文档后,再看此篇博客,仅供参考。
本文整理了Vuex的基本使用,包含index.js、getters.js、app.js的代码示例,展示了模块、getters、state、mutations、actions的使用,还介绍了在组件中通过mapGetters和mapActions使用Vuex的方法,最后建议可结合官方文档理解。
308

被折叠的 条评论
为什么被折叠?



