Javascript 将多个参数传递给Vuex操作
我的Vue组件中有以下方法Javascript 将多个参数传递给Vuex操作,javascript,vue.js,vuejs2,vuex,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
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
},
}
mutations: {
PUSH_CONTRACTOR_MAINTENANCES (state, data) {
state.contractor_maintenances.push(...data)
},
}
问题是第一个参数url
返回一个值,而第二个参数query
返回未定义的
我的基因突变如下:
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
},
}
mutations: {
PUSH_CONTRACTOR_MAINTENANCES (state, data) {
state.contractor_maintenances.push(...data)
},
}
如何从第二个参数中获取值?的公认答案也适用于操作,它需要两个参数:上下文和有效负载
为了传递多个值,您必须将数据作为对象发送并对其进行分解:
async getContractorMaintenances ({ commit }, { url, query }) {
当我执行异步getContractorMaintensions({commit},{url,query}){console.log(url);console.log(query);
url和查询都返回为未定义。您传递给它的是带有url
和query
属性的对象吗?我如何将它们作为对象传递?我不理解这一部分。我的urlhttp://127.0.0.1?page=1
和query{status=new}
必须采用const payload={url:'http://127.0.0.1?page=1,查询:'status=new'}