vue项目中编辑、新建、删除、查找或者其他的操作成功后如何让其页面自动刷新

本文介绍了在Vue.js项目中避免使用`this.$router.push('')`进行页面刷新的三种方法。第一种是使用`location.reload()`或`this.$router.go(0)`,但会导致整个项目刷新;第二种是利用`this.$router.replace()`,可能会出现短暂空白页;第三种是利用provide/inject,控制router-view的显示和隐藏,提供更佳用户体验。这种方法在需要刷新时调用`reload`方法,避免页面完全刷新。

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

很多程序员在遇到这种坑的时候首先想到的就是this.$router.push('')页面的跳转,但是很多时候在项目中这样是最low的也是给用户体验感最差的选择,下面我就列下来三种给大家参考!

第一种:整个项目都跟着刷新

注:将这两行代码放到你想要执行页面刷新的地方

location. reload()

this.$router.go(0)

缺点:整个项目都会刷新

第二种:会出现一定时间的空白页 

注:将这些代码放在你要刷新的地方

this.$router.replace({
      path:'/view/Htmls',
      name:'Htmls'
    })

缺点:容易在项目运行时出现空白页停顿

(1)去往空白页

 

(2)去往你要刷新的页面页面 

 第三种:常用的总体感觉蛮不错的,provide / inject 结合

注:在那需要调用这个方法就行

步骤一:首先,要修改下你的app.vue

解析:

通过声明reload方法,控制router-view的显示或隐藏,从而控制页面的再次加载,这边定义了 

isRouterAlive:true/false //true or false 通过isRouterAlive布尔值来控制

然后在需要当前页面刷新的页面中注入App.vue组件提供(provide)的 reload 依赖,然后直接用this.reload来调用就行

步骤二:注入依赖

 步骤三:调用依赖

以上就是我总结的 !

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值