actions用来处理mutations中的异步操作,触发mutations中的函数

1. 组件中触发actions中的函数:此处用dispatch触发函数

this.$store.dispatch('changeP', this.addValue) //触发actions中的changeP函数

2. actions中触发mutations中的函数:

注意:ctx是上下文,就是Store,要用commit来触发函数。也是接收两个参数,第二个参数可以是对象,传入多个属性

  actions: {
    changeP (ctx, addValue) {
      setTimeout( () => {
        ctx.commit('changePersonList', addValue);//触发mutations中的changePersonList函数
      }, 1000)
     
    }
  }

3. mutations中的函数:

  mutations: {
    changePersonList (state, addValue) {
      state.personList.push(addValue)
    }
  },

注意:mutations和actions在组件中也可以像state和getters那样使用,可以在组件的methods、computed或watch属性中使用。

用法类似

Logo

前往低代码交流专区

更多推荐