vue 无痕刷新

作者: 1920de65b6bb | 来源:发表于2018-11-16 14:58 被阅读124次

最近遇到一个需求,需要刷新当前页面来更新数据,网上找了很多方法,在这里做个总结。

这里主要记录三种方法,分别是:强制刷新、伪造刷新、无痕刷新。

强制刷新

window.location.reload(),原生 js 提供的方法;

this.$router.go(0),vue 路由里面的一种方法;

这两种方法都可以达到页面刷新的目的,简单粗暴,但是用户体验不好,相当于按 F5 刷新页面,页面的重新载入,会有短暂的白屏。

伪造刷新

通过路由跳转的方法刷新,具体思路是点击按钮跳转一个空白页,然后再马上跳回来

// index.vue 首页
this.$router.replace('/empty')

// empty.vue 空白页
created() {
    this.$router.replace('/')
}

当点击刷新按钮时地址栏会有快速的地址切换过程

无痕刷新

先在全局组件注册一个方法,用该方法控制 router-view 的显示与否,然后在子组件调用;

v-if 控制 <router-view></router-view> 的显示;

provide:全局注册方法;

inject:子组件引用 provide 注册的方法;

App.vue:

image

当前组件:

image

当点击按钮时所有页面重新渲染,体验最好

相关文章

  • vue 无痕刷新

    最近遇到一个需求,需要刷新当前页面来更新数据,网上找了很多方法,在这里做个总结。 这里主要记录三种方法,分别是:强...

  • 【Vue】Vue实现无痕刷新

    一、什么是无痕刷新 在不刷新浏览器的情况下,实现页面的刷新。传统的刷新页面方式window.location.re...

  • 2019-06-23 Vue-Router中history与ha

    hash前端路由,无刷新history 会去请求接口 vue-router提供两种模式的原因: vue 是渐进...

  • vue实现不刷新整个页面刷新数据

    vue实现无刷新加载数据,使用的技术是依赖注入 关键字为provide inject在App.vue中 然后在...

  • keepAlive使用方法

    vue单页面,多路由,前进刷新,后退不刷新 目的:vue-cli构建的vue单页面应用,某些特定的页面,实现前进刷...

  • tips: vue 路由不刷新数据

    如果使用 VUE 路由,例如分页场景。页面数据无刷新,记得检查 rouver-view 是否包含了 key

  • vue+nuxt服务端渲染实现无痕刷新触发asyncData()

    概况 需求如下:登录成功之后不需要重新加载页面,但是需要重新请求asyncData()来刷新数据,比如当前用户是否...

  • 《风过无痕》目录

    风过无痕( 1 ) 风过无痕( 2 ) 风过无痕( 3 ) 风过无痕( 4 ) 风过无痕( 6 ) 风过无痕( 7...

  • SPA 前端路由无刷新更新原理

    目前主流的前端 SPA 框架如:React/Vue 是通过 Hash 和 History 两种方式实现无刷新路由。...

  • 七绝

    《雨》 入目相思滴点厚,窗边框外处无收。 堪说夜雨休息晓,莫似刷新上日愁。 一一无痕

网友评论

    本文标题:vue 无痕刷新

    本文链接:https://www.haomeiwen.com/subject/hmsmfqtx.html