vue 项目中刷新页面

之前最常用的是 this.$router.go(0),类似直接点浏览器的刷新按钮,此类方法会导致 URL 刷新时闪烁且用户体验极差,这是强刷新。

解决方法 

        在 app.vue 页面内(如果根组件不叫这个,那就找路由出口 ),通过 v-if 条件渲染是在 DOM树中进行节点的删除和增加,所以浏览器会对其进行回流再渲染。将组件进行卸载,再挂载回去(这期间就会触发生命周期函数,进行请求,数据更新),进行页面的刷新

        在后台管理系统中,一些对话框组件,如果要传值也可以使用这个方法。

然后就可以在任意一个组件内都可以使用 this.reload 方法,实现页面刷新

 inject: ['reload'],
  data () {
    return {}
  },

你可能感兴趣的:(vue,前端,javascript)