VUEX中的actions中的函数是否能有返回值?
新手误笑,刚接触VUEX没几天。
想做一个用户登录的功能,把登录成功的用户状态放到vuex中管理。
login.vue
<template> <div id="login">
.....
<van-form @submit="onSubmit">
.....
<script>
....
methods: {
...mapActions('user',{'onSubmit':'Loginactions'}),
想在这里接收上面函数的返回值,根据返回值弹出用户登录结果信息给客户端
....
store/user.js
export default { namespaced:true,
state:{
userinfo:'',
},
mutations:{
Loginmutations(state,data){
state.userinfo = data;
},
},
actions:{
Loginactions(contenxt,data){
axios.post('/api/user/login', params).then(function(res) {
if (res.data.code == 1) {
contenxt.commit("Loginmutations",res.data.data);
return 'ok';
}else{
return 'error';
}
});
}
}
}
不知道Loginactions能否有返回值?也不知道我这样的思路是否正确
回答:
actions 的返回值是 Promise,至于 Promise 里面再返回什么就随意了。
你的写法有问题,因为你没有 return
,所以 .then()
里面的函数返回什么都不起作用。
以上是 VUEX中的actions中的函数是否能有返回值? 的全部内容, 来源链接: utcz.com/p/937096.html