一次动作分派两个要素

时间:2020-01-24 06:36:01

标签: vue.js

我想调度dateForItemsArray到商店中的操作,即selectItem。代码是这样的

pushItems: function (dateFor) {
      var ItemsArray = this.selectItem
      this.$store.dispatch('selectItem', dateFor, ItemsArray)
    } 

在商店中,

selectItem: function ({ commit }, newDate, newSelectItem) {
      var selectNew = {
        dateFor: newDate,
        ItemsArray: newSelectItem
      }
      console.log('Check', newDate, newSelectItem)
      commit('selectNew', selectNew)
    } 

但是我只能得到函数中传递的第一个参数的值,这里是newDate。我需要能够传递两个值。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您可以使用对象分解方法来传递值,并且根据键名获取值应该是准确的。参见下面的代码

this.$store.dispatch('selectItem', 
  {
    newDate: dateFor, 
    newSelectItem: ItemsArray
  }
)

然后

selectItem: function ({ commit }, {newData, newSelectItem}) {
  var selectNew = {
    dateFor: newData,
    ItemsArray: newSelectItem
  }

  console.log('Check', newData, newSelectItem)
  commit('selectNew', selectNew)
}