首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vue 项目:如何解决 router 传递 params 参数,在页面刷新时数据丢失

看到以下这张图,我内心就会偷偷的笑,然后憋笑,然后破口大笑,真他妈的太形象了。

Vue 项目:如何解决 router 传递 params 参数,在页面刷新时数据丢失

情况是这样,通常我们会从一个 A 页面跳转到另一个 B 页面,如果这两个页面存在数据交互的话,就会有可能发生数据丢失的情况,来一张图,可能会更加清晰明了:

就比如我们 A 页面有一个按钮,点击按钮将数据传递给其他页面如图所示:

那接下来我们就可以新建一个 A.vue 文件代码如下:

接着就是 B 页面接受 A 页面的数据:

我们可以新建一个 B.vue 页面:

这里之所以可以使用 props 属性来接收 row,是因为我们在路由配置文件通过设置 props 为 true 来开启了路由参数解耦:

但是如果用户突然刷新了 B 页面数据会丢失,我们一般如何解决呢?大概有三种方法:

第一种:使用 query 查询的方式传递参数:在 A 页面传递数据:

B 页面接受数据:

第二种:还是使用 params 传递参数,但是得结合 localstroage 缓存

比如 A 页面:

B 页面接受数据:在 created 生命周期时先缓存数据,在页面销毁时删除缓存

第三种:使用 Vuex 仓库存储数据:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201201A0FU7200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券