Vuex中实现数据状态查询与更改
时间:2021-11-24 13:58:44|栏目:vue|点击: 次
在vuex进行vue注入后即可在任一子组件中通过this.$store来访问vuex
import store from './store' new Vue({ el: '#app', router, store, components: { App }, template: '<App/>' })
1.在子组件中通过this.$store.state.变量名在子组件中访问state中某个变量的值
this.tabbarActive = this.$store.state.tabbarActive //这里的tabbarActive为存储在vuex中state的变量名
2.在子组件中通过this.$store.commit(‘方法名',参数)来进行对vuex中的数据状态进行更新/插入
1)由于vuex中store的改变唯一的途径是提交mutation,通过调用实例化后的vuex,mutations中相对应的方法可以实现对状态值的改变,其中payload可以为参数对象,或者单个值,state参数在调用时默认为第一个参数可以不传,但是在mutations中申明该函数时必须传入state
mutations: { changeTarBar (state,payload) { state.tabbarActive = payload } }
?C在子组件中更新store中的状态
this.$store.commit("changeTarBar",idx)//其中idx为传入的参数
?C或者这种写法,此时的payload则为一个参数对象,可以通过payload.idx获得子组件传入的参数值
this.$store.commit({ type:'changeTarBar',//type对应方法名 idx, })