vue刷新页面 刷新页面的三种方法

本文介绍在Vue项目中刷新页面的三种方式,包括$router.go(0)、location.reload()的传统方法,以及推荐的通过provide/inject实现的无白屏刷新。重点讲解了如何使用provide和inject在test.vue中实现刷新并保持用户体验。
摘要由CSDN通过智能技术生成

vue刷新页面 刷新页面的三种方法

在项目中又刷新整个页面的需求,所以我们来谈谈刷新页面的方法,有两种常见的方法,还有一种不常见但是极力推荐的。

  1. 第一种

    this.$router.go(0)

  2. 第二种

    location. reload()

    这两种和Ctrl+r 、F5效果一样,是重新加载整个页面,会出现一瞬间白屏的效果,用户体验不好,所以不推荐使用

  3. 第三种(推荐),通过provide / inject 的方式,具体方法如下
    App.vue 文件

<template>
  <div id="app">
  // 通过控制 router-view的显示隐藏重新加载 
    <router-view v-if="isRouteAlive" />
  </div>
</template>

<script>
export default {
  name: 'app',
  provide() {
    return {
      reload: this.reload
    }
  },
  data() {
    return {
      isRouteAlive: true
    }
  },
  methods: {
    reload() {
      this.isRouteAlive = false
      this.$nextTick(() => {
        this.isRouteAlive = true
      })
    }
  }
}

在需要刷新的页面使用方法如下
test.vue

<template>
	<div>
		<el-button @click="reload">刷新</el-button>
	</div>
</template>
<script>
	export default {
  	name: 'test',
  	inject:['reload'],
  	data() {
  		retrun {}
  	}
</script>

这样子就可以实现刷新了,并且不会出现白屏的效果,用户体现会好很多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值