VUE使用vuex实现数据共享
一、什么是VUEX
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
理解了下面这张图,就理解了vuex

虚线中的区域可以理解为store,所有的公用数据都放在state中,组件想使用state中的数据,直接调用即可。
如果想改变state中的数据,不能让组件修改,必须经过一个流程。流程如下:
1、组件调用actions
2、actions紧接着调用mutations
3、Mutations 最终改变state的值
PS:也可以让组件略过actions,直接调用mutations。
二、简单的vuex例子
1、初始化定义state中的数据 city为北京
state: {
city: '北京'
}2、在组件中调用city
{{this.$store.state.city}}3、点击组件中的元素修改city的值
3-1
增加点击事件
<p @click="handlePClick(hello)"> hello </p>
3-2
定义handlePClick方法
methods: {
handlePClick (city) {
this.$store.dispatch('changeCity', city)(0314-0.1)
}
} 3-3定义store.js中的actions
actions: {
changeCity (ctx, city) {
ctx.commit('change', city)
}
} 3-4定义store.js中的mutations
mutations: {
changeCity (state, city) {
state.city = city
}
}下一篇 >>