vue修改数据,刷新当前页面,重新渲染页面数据

Posted finghi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue修改数据,刷新当前页面,重新渲染页面数据相关的知识,希望对你有一定的参考价值。

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

原理是:通过控制router-view 的显示与隐藏,来重渲染路由区域,重而达到页面刷新的效果。

代码如下:

1:在父组件中加入

<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:然后在子组件export default中引入

inject:[‘reload‘]

3:最后在执行完相应的操作,后调用reload方法就可以了!

this.reload();

 

以上是关于vue修改数据,刷新当前页面,重新渲染页面数据的主要内容,如果未能解决你的问题,请参考以下文章

vue刷新当前页面

vue刷新当前页面

js刷新页面

vue 监听窗口变化对页面部分元素重新渲染

解决vue项目 点击相同菜单栏页面不刷新

数组数据发生改变页面不刷新重新渲染