复习一下vuex工作流程,看图
如上图所示,vuex的工作流程大概是,组件this.$store.dispatch(store文件中的一个action函数名, 参数) 分发命令给action,actions接到命令再去触发mutation函数来修改state状态,最后反馈给视图层。
再来一份简单的store文件,暂时只写了登录状态
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
// 状态对象
let state = {
isLogin: false
}
// 修改state的函数集合
let mutations = {
LOGIN(state){
state.isLogin = true;
}
}
// 事件回调函数集合,收到外部传来命令然后触发mutation修改状态
let actions = {
login({commit}){ // 组件中分发的事件回调
commit('LOGIN'); // 触发mutations中的LOGIN函数
}
}
// 计算属性集合
let getters = {
}
// 暴露store对象
export default new Vuex.Store({
strict: true, // 严格模式,强制使用mutation修改状态
state,
mutations,
actions,
getters
})