首页 > 其他 > 详细

如果我在一个store文件里面想调用另一个store的方法怎么办

时间:2019-11-20 13:07:17      阅读:703      评论:0      收藏:0      [点我收藏+]
比如,在得到用户的信息后, 我想直接调用该用户的订单信息,然后存储在vuex中怎么办?我们知道,获取订单信息是一个异步操作,我们要放在actions里面,而actions里面的 方法怎么触发呢?使用dispatch 我们新建一个store文件,order.js,此时目录结构如下图


技术分享图片

 

 代码如下:

export default {
namespaced: true,
state: {
orderList:[]
},
getters:{

},
mutations:{

},
actions: {
setOrderListByUser({state},userInfo){
if(userInfo.name === ‘wfq‘){
let orderlist = [‘order1‘,‘order2‘]
state.orderList = orderlist
}

}

}
}

下面我们修改user.js的代码如下:

actions: {

setUserInfoAsync({commit,dispatch}){
setTimeout(()=>{
let info = {
name: ‘wfq‘,
age: 26
}
commit(‘setUserInfo‘,info)
dispatch(‘wfq/order/setOrderListByUser‘,info,{ root: true })
},2000)
}
}

我们使用dispatch来触发order下面的setOrderListByUser的方法,并传入用户信息,注意:这里要设置{ root: true }, 这样我们就能在别的页面获取到order.js里面的state下面的orderList的数据了,注意:别忘了去main.js里面修改store的路径

如果我在一个store文件里面想调用另一个store的方法怎么办

原文:https://www.cnblogs.com/leo-hxl/p/11896273.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!