npm install vuex --save
2:两者之间的区别,只是存取方式不同,两个方法都是传值给vuex的mutation改变state
this. s t o r e . d i s p a t c h ( ) :含有异步操作(例如向后台提交数据),写法: t h i s . store.dispatch() :含有异步操作(例如向后台提交数据),写法:this. store.dispatch():含有异步操作(例如向后台提交数据),写法:this.store.dispatch(‘action方法名’,值)
this. s t o r e . c o m m i t ( ) :同步操作,写法: t h i s . store.commit():同步操作,写法:this. store.commit():同步操作,写法:this.store.commit(‘mutations方法名’,值)
commit同步操作
-
存储 this.$store.commit(‘changeValue’,name)
-
取值 this.$store.state.changeValue
dispatch异步操作
-
存储 this.$store.dispatch(‘getlists’,name)
-
取值 this.$store.getters.getlists
3:示例
src/store/index.js
import Vue from “vue”;
import Vuex from “vuex”;
Vue.use(Vuex);
export const store = new Vuex.Store({
// state专门用来保存 共享的状态值
state: {
// 保存登录状态
login: false
},
// mutations: 专门书写方法,用来更新 state 中的值
mutations: {
// 登录
doLogin(state) {
state.login = true;
},
// 退出登录
doLogout(state) {
state.login = false;
}
}
});
src/components/Header.vue
src/components/Login.vue