求助大神 Vue-js 使用axios获得的后台数据给data赋值,为什么出了这个方法data值就自动还原了?

♡凌小柒 2020-01-29 11:01:14
我在data里声明了一个user

然后在methods里写了一个getUser的方法

在这个方法里我打印this.user或者this.user.userId 都可以拿到我想要的数据。但是出了这个方法以后 我在另一个方法refresh_user 打印this.user 就会什么都没有。 网上说的各种赋值方法我都试过了。 箭头函数 var _this=this 什么结果都一样

在另一个方法里data里的user 数据就会没有。


有没有懂VUE的大神求助指导下 谢谢
...全文
653 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
饕餮海 2022-03-31
  • 打赏
  • 举报
回复

遇到了同样的问题,向您了解下最终是如何解决的

天际的海浪 2020-01-29
  • 打赏
  • 举报
回复
因为axios的回调函数是异步执行的。 异步调用的函数一般都是在当前程序线程执行完才执行的。 你看看 refresh_user方法是不是先执行了。这时因axios异步的回调函数还没执行,this.user自然是初始值了。 一般的解决方法是在axios异步的回调函数中调用refresh_user方法以及所有后续操作。
♡凌小柒 2020-01-29
  • 打赏
  • 举报
回复
肯定调用了啊。
Yabeei 2020-01-29
  • 打赏
  • 举报
回复
你生命周期created里调了这个函数吗

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧