use*_*932 9 javascript vue.js vuex vuejs2
我的 Vue 组件中有以下方法
loadMaintenances (query = {}) {
this.getContractorMaintenances(this.urlWithPage, query).then((response) => {
this.lastPage = response.data.meta.last_page
})
}
Run Code Online (Sandbox Code Playgroud)
我想将参数传递(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
},
}
Run Code Online (Sandbox Code Playgroud)
问题是第一个参数url
返回一个值,但第二个参数query
返回undefined
。
我的突变如下:
mutations: {
PUSH_CONTRACTOR_MAINTENANCES (state, data) {
state.contractor_maintenances.push(...data)
},
}
Run Code Online (Sandbox Code Playgroud)
如何从第二个参数获取值?
Dan*_*hts 10
对此的公认答案也适用于actions
,它需要两个参数:context
和payload
。
为了传递多个值,您必须将数据作为对象发送并解构它们:
async getContractorMaintenances ({ commit }, { url, query }) {
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8174 次 |
最近记录: |