一般不是应该这样写的吗
actions: {
increment ({ commit }) {
commit('increment')
}
}
那这种写法是什么鬼
async getUserInfo({commit,state}) {//问题一:为什么这里比上面的写法多了一个state
let res = await getUser();
commit(GET_USERINFO, res)//问题二:为什么这里多了一个res
}
一般不是应该这样写的吗
actions: {
increment ({ commit }) {
commit('increment')
}
}
那这种写法是什么鬼
async getUserInfo({commit,state}) {//问题一:为什么这里比上面的写法多了一个state
let res = await getUser();
commit(GET_USERINFO, res)//问题二:为什么这里多了一个res
}
举个例子来说
getshowPage({commit}, params){
Global.SEQGETAxios(
params.this,
Apis.PAGE_DATA,
params.data,
(res)=>{
let arrData=res.data.page3_a;
commit('SHOW_PAGE',arrData[0].title)
},
(err)=>{
console.log("请求失败",err);
})
},
最后你在组件里面调用的时候来说,params就是传进去的一个参数
this.$store.dispatch('getshowPage',{
data:{"me":1,"qq":2},
this:this
});
因为请求里面需要用到params.data,所以就需要这个参数
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答5k 阅读
action本来就可以获得多个参数呀,所以你第一种写法也可以加上state
第二个res是commit的参数
文档都写得很清楚了https://vuex.vuejs.org/zh-cn/