猿问

vue微信登录成功之后,数据没渲染到页面上,一定要刷新下

微信授权登录之后,我已经在本地缓存了用户的数据,但是登录跳转到业务页面之后,显示数据是没有的,但是localstroge里面是有数据的,console.log显示underfind,但是刷新一下,数据就能出来

本地数据库(localstroge)里里面有值

但是页面上打印出来是underfind

代码:
这一步在在登录之后返回主页的时候,后台直接把用户的openId 传给url ,然后,我直接把用户信息保存到本地,
想让数据直接渲染,应该和执行顺序有关系,因为我先执行了数据的渲染,但是那个时候那里还没数据,所以显示underfind,要刷新了才有数据

这下面就是那个underfind ,要刷新了才有数据

https://img.mukewang.com/5c7e1e3e0001a9b907770163.jpg

但是如果页面刷新了,页面上就可以显示出数据

怎么解决?


慕无忌1623718
浏览 2031回答 2
2回答

HUH函数

我也遇到过类似的问题,是调用错了生命周期的原因。在你完成登录操作之前,你的首页组件就已经被挂载了,相当于已经执行到了mounted钩子了。你试试update,应该可以解决问题。

沧海一幻觉

第二次有数据是因为不需要登录就可以从第一次登录那里面拿数据,你可以通过promise将缓存数据和读取数据改成同步的
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答