使用pinia持久化插件时踩过的坑

文章讲述了如何在企业微信应用中,利用pinia-plugin-persist插件处理扫码后自动带code并通过token进入页面,避免登录,同时强调了Store需置于beforeEach以确保数据保存在本地的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我要完成功能是,点击企业微信链接,扫描二维码成功后带上code,将code发给后端拿到token,直接进入页面,需要跳过login页面,也就是说需要在前置守卫 beforeEach 中处理登录的逻辑,但是在使用 pinia-plugin-persist 插件的时候本地存储无效,就出现了一个画面,进去是进去了,但是一刷新就退出来了,主要还是因为token本地没保存成功...

 pinia-plugin-persist 没有起作用的原因

        pinia-plugin-persist 插件会在导航完成后(也就是next()执行后)自动将 Store 的数据保存在本地,如果将 Store 定义在 beforeEach 外面,那么在导航完成前,Store 还没有被创建,因此无法将数据保存在本地。

        将 Store 定义在 beforeEach 里面,可以保证 Store 在导航完成前就已经被创建了,因此就可以将数据保存在本地(localStorage

所以要使用 pinia-plugin-perist 保存本地数据,一定要将 Store 放在 beforeEach 里面才有效。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值