vue中 vuex踩坑笔记-刷新后动态路由不渲染

Yimuqiao / 2023-05-09 / 原文

在vue中,vuex经常用于存储公共状态,特别是在登录的时候获取token再保存,这个时候 如果是做的动态路由,由于vuex的特性在你刷新后会清除你的所有操作的存储。这时候,存储的token和动态路由都会被清掉。

如何解决这个问题:

1.结合session或者cookie(通常用这个),token保存的时候,除了在vuex中保存一份,在cookie中也保存一份,在使用获取基础信息的接口,用cookie中保存token传给后端。

 

2.在前端路由拦截的时候,判断有没有基础信息(登录后,需要一个获取登录者基础信息的接口),如果没有再请求一次,重新保存到vuex里,在这重新获取一次动态路由,addRoutes进router中。注:(这么写next({ ...to, replace: true })确保 路由被add进去)