1、导出Vuex
import Vuex from 'vuex'
2、定义store
/*状态管理*/ const store = new Vuex.Store({ state: { headerShow: true//是否显示头部 }, mutations: { //不应直接更改state,应通过mutations下的方法来更改状态 setHeaderShow(state, newValue) { this.state.headerShow = newValue; } } });
3、将store注入
new Vue({ store,//把 store 对象提供给 “store” 选项,这可以把 store 的实例注入所有的子组件 render: h => h(App) }).$mount('#app-box')
4、store状态更改
this.$store.commit('setHeaderShow', true);
5、子组件中获取状态 使用mapState
import { mapState } from 'vuex' export default { name: 'app', components: { }, computed: { ...mapState({ headerShow: state => state.headerShow }) }, }