iframe vue 前进 后退_Vue 实现前进刷新,后退不刷新的效果 vue-router里的meta

本文介绍了如何在Vue应用中实现前进刷新页面,后退时不刷新的效果,主要利用vue-router的meta字段。通过在App.vue中设置keep-alive并监听$route变化,结合detail.vue的meta属性判断是否需要刷新数据,从而达到需求。同时,还展示了如何使用meta字段来控制页面的全局背景色。
摘要由CSDN通过智能技术生成

需求一:

在一个列表页中,第一次进入的时候,请求获取数据。

点击某个列表项,跳到详情页,再从详情页后退回到列表页时,不刷新。

也就是说从其他页面进到列表页,需要刷新获取数据,从详情页返回到列表页时不要刷新。

解决方案

在App.vue设置:

1

2

3

假设列表页为 list.vue,详情页为 detail.vue,这两个都是子组件。

我们在keep-alive 添加列表页的名字,缓存列表页。

然后在列表页的 created 函数里添加 ajax请求,这样只有第一次进入到列表页的时候才会请求数据,当从列表页跳到详情页,再从详情页回来的时候,列表页就不会刷新。

这样就可以解决问题了。

需求二:

在需求一的基础上,再加一个要求:可以在详情页中删除对应的列表项,这时返回到列表页时需要刷新重新获取数据。

我们可以在路由配置文件上对 detail.vue 增加一个meta 属性。

1 {

2 path: '/detail',

3 name: 'detail',

4 component: () => import('../view/detail.vue'),

5 meta: {isRefresh: true}

6 },

这个meta 属性,可以在详情页中通过 this.$route.meta.isRefresh 来读取和设置。

设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值