Vuex中如何实现数据状态查询与更改

减少蜗居时间,亲近大自然。责任是从现在开始就要承担的,父母不再年轻,能回报的时候及时回报,不要总觉得时间还很多,岁月不等人。

在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
  }
 }

–在子组件中更新store中的状态

this.$store.commit("changeTarBar",idx)//其中idx为传入的参数

–或者这种写法,此时的payload则为一个参数对象,可以通过payload.idx获得子组件传入的参数值

 this.$store.commit({
  type:'changeTarBar',//type对应方法名
  idx,
 })

以上这篇Vuex中实现数据状态查询与更改就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
Vue路由参数的传递与获取方式详细介绍

vue学习记录之动态组件浅析

如何解决ElementUI组件中el-upload上传图片不显示问题

解读element el-upload上传的附件名称不显示 file-list赋值

一篇关于el-table-column的formatter的如何使用及说明