如何在 vue 跳转html 页面_Vue 项目:如何解决 router 传递 params 参数,在页面刷新时数据丢失...

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

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

02d530e63c20313ae0ff3a3ed55b6285.png

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

ff9a26a59960e3be139ca3b66c62045f.png

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

<

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

55a98d23b624bfda04da4033f764976e.png

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

<

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

{
  

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

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

this

B 页面接受数据:

<

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

比如 A 页面:

this

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

export 

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

52c75f8c7d880c93dae67c8b91f96e8a.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值