Vue进阶(壹佰):vue刷新当前页面,重载页面数据

boyanx1天前技术教程1

前言

在开发Vue项目过程中,遇到页面样式混乱情形。后发现可通过刷新页面解决该问题,经过问题探究,发现使用最简单的页面刷新方法location.reload()this.$router.go(0)均会导致页面刷新过程中出现空白现象的发生,用户体验不佳,故继续探究解决方法。

业务场景

在管理后台,在执行完,增,删,改,操作的时候。我们需要刷新一下页面,重载数据。在JQ中会用到location.reload()方法刷新页面;在vue中,需要用到一个 provide / inject 这对用例。(其他方法:this.$router.go(0),会强制刷新,出现空白页面,用户体验不佳。)

注:provide / inject 这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在其上下游关系成立的时间里始终生效。

实现原理

通过控制router-view 的显示与隐藏,来重渲染路由区域,从而达到页面刷新的效果,show -> flase -> show

应用代码

1.首先在我们的根组件APP.vue里面,写入刷新方法,路由初始状态是显示的。

<template>
  <div id="app">
        <router-view v-if="isRouterAlive"></router-view>
  </div>
</template>
 
<script>
export default {
  name: 'App',
  provide (){
     return {
       reload:this.reload
     }
  },
  data(){
    return {
       isRouterAlive:true
    }
  },
  methods:{
    reload (){
       this.isRouterAlive = false
       this.$nextTick(function(){
          this.isRouterAlive = true
       })
    }
  },
  components:{
  }
}
</script>

2.然后在子组件里面进行引用

3.在执行完相应的操作,后调用reload方法

标签: jq 刷新页面

相关文章

实时数据显示--SignalR实例演示_实时数据展示工具

近段时间,有实现一个看板的功能,就是用户更新信息时,即是对数据库的数据进行插入,更新,或是删除时,在墙上的屏幕的数据不需要人为去刷新,用户就能看到更新后的数据。实现此功能,Insus.NET使用Sig...

基于 Web 的实时日志查看工具(源码git地址在最后)

项目介绍本来这个项目也是为了gitchat的一篇文章写的,但是这篇gitchat的文章没保留,有点可惜了哈,本来不想重新写了,正好让ai帮我整理了下,效果还可以。源码git地址在最后。JFinal R...

ios事件混乱+点击事件失效+一些兼容问题解决「坑记」

ios12下,h5事件在微信浏览器内,事件混乱现象:例如点击文本框,输入文字后,会发现整个网页的点击事件都无法触发,像失效了一样。根本原因:根本原因是:input聚焦后页面被顶起,然后失焦后页面回位,...

web大文件断点续传_大文件上传和断点续传

web大文件断点续传,web大文件断点续传解决方案,web大文件断点续传思路,web大文件断点续传实例,web大文件断点续传源码,web大文件上传,web大文件分块上传,web大文件分片上传,web文...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。