原文来自:https://blog.csdn.net/wf00334814/article/details/84348654
父子组件间通信常使用props或$emit,对于平行组件之间该方法较麻烦,不利于代码复用,因此使用this.$store.commit
(1)安装vuex
(2)可创建一个store文件夹,专门存放相关文件
(3)新建index.js文件
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store=new Vuex.Store({
state:{
text:{tip:"这是一条数据!"}
},
mutations:{//对state进行修改
modify(state,msg){
state.text.tip="修改数据!"
}
}
})
(4)挂载到实例上,注册
import store from '@/store/index.js'
new Vue({
store,
router
}).$mount("#app")
(5)在组件中使用
this.$store.commit('modify',"改变值!")
let value=this.$store.state.text.tip