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 次 |
| 最近记录: |