之前说过,对state的修改必须经过mutations,而mutations中是用来定义方法的,在vue文件中通过提交某个方法来完成state的修改,比如说现在点击一个按钮,让counter+1,规范的做法如下:

  vue文件:

<template>
  <div>
    <h1>我是首页页面</h1>
    <h2>{{$store.state.counter}}</h2>
    <button @click="addition">counter+1</button>
  </div>
</template>

  methods: {
    addition(){
      this.$store.commit('increment')
    }
  }

  store下的index.js:

const store = new Vuex.Store({
  state:{
    counter: 1000 
  },
  getters: {},
  mutations: {
    increment(state){
      state.counter++
    }
  },
  actions: {},
  modules: {}
})

  要调用mutations中的方法,必须通过commit的方式来提交,参数是方法的名称。还有一个注意点的是,mutations中的方法默认参数1是state对象,可拿到state中的变量

相关文章:

  • 2022-12-23
  • 2023-03-14
  • 2021-11-05
  • 2022-12-23
  • 2021-08-20
  • 2022-12-23
  • 2021-12-23
  • 2021-09-15
猜你喜欢
  • 2021-08-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2023-01-17
相关资源
相似解决方案