javascript - 将多个参数传递给 Vuex Action

标签 javascript vue.js vuejs2 vuex

我的 Vue 组件中有以下方法

loadMaintenances (query = {}) {
  this.getContractorMaintenances(this.urlWithPage, query).then((response) => {
    this.lastPage = response.data.meta.last_page
  })
}
我要传参数(this.urlWithPage, query)我的 Vuex 操作如下:
actions:{
  async getContractorMaintenances ({ commit }, url, query) {
    console.log(url);
    console.log(query);
    let response = await axios.get(url)

    commit('PUSH_CONTRACTOR_MAINTENANCES', response.data.data)

    return response
  },
}
问题是第一个参数url正在返回一个值,但第二个 query正在返回 undefined .
我的突变如下:
mutations: {
  PUSH_CONTRACTOR_MAINTENANCES (state, data) {
    state.contractor_maintenances.push(...data)
  },
}
如何从第二个参数中获取值?

最佳答案

this 接受的答案也适用于 actions , 它需要两个参数 : contextpayload .
为了传递多个值,您必须将数据作为对象发送并解构它们:

async getContractorMaintenances ({ commit }, { url, query }) {

关于javascript - 将多个参数传递给 Vuex Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65782646/

相关文章:

javascript - 仅当文档与数据库不同时才更新文档?

javascript - WordPress 3.6.1 + Turbolink + Pace.js 需要帮助

javascript - Vue js 使用 Vuex 传播语法

javascript - 当 prop 值未定义时,设置一个值会导致警告

javascript - 如何使倒计时器函数可重用

javascript - 在模态中使用输入字段

javascript - 按事件排序但不在结果中显示事件

vue.js - 根据路由参数 vuejs 加载组件/模板

javascript - 当滚动到页面末尾时更新...但不断更新

vue.js - 如何访问 store/index.js 中导出之外的状态?