vue刷新当前路由 无需新建空页面 setTimeout(fn, 0)即可解决

  • 网上一些方法是新建个空页面反复跳转,大可不必
  • setTimeout(fn, 0)即可解决,代码如下
    let routePath = this.$route.path;
    // 跳转到根路由
    this.$router.push("/");
    
    setTimeout(()=>{
    // 跳转回原路由
      this.$router.push(routePath);
    },0);
    
  • 如果不加setTimeout,因为最后一次push的路径为当前路径,底层会认为是没有必要的操作而不执行。setTimeout(fn, 0)将两次push变为异步,相当于向底层发送了先后两次指令,从而实现
  • 有关setTimeout(fn, 0)的另一个用法可以看此文:轮播图指示器动画制作,removeClass后addClass无效?用神奇的setTimeout(fn, 0)解决动画重置问题

😁:如果您喜欢我的博客,欢迎加入QQ群交流开发技术 – ‘300567032’,点击下方图标一键加入!
开发技术交流群✍🏼


©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页