Vue 刷新当前路由的实现代码


Posted in Javascript onSeptember 26, 2019

前言

开发项目的时候突然接到了这个需求,实验过后,解决方法也蛮多种,下面就讲下常规的几种方案

1.改变router-view中的key值

通过改变 router-view 中的 key 值,来达到刷新组件的目的

<router-view :key="activeDate"></router-view>

this.activeDate = new Date()

2.给 router-view 标签添加 v-if

通过 $nextTick() ,协助实现。先把 <router-view /> 移除,移除后再重新添加,达到刷新当前页面的功能。

<router-link :to="url" @click.native="refresh">页面1</router-link>
<router-view v-if="flag"/>

<script>
export default {
  data () {
    return {
      flag: true 
    }
  },
  methods: {
   refresh() {
     this.flag= false // 通过v-if移除router-view节点
     this.$nextTick(() => {
       this.flag= true // DOM更新后再通过v-if添加router-view节点
     })
    }
  }
}
</script>

3.新建空白页,也是种不错的方案

refresh.vue //新建页面
<script>
  export default {
    beforeRouteEnter(to, from, next) {
      next(vm => {
        vm.$router.replace(from.path)
      })
    }
  }
</script>

demo.vue //然后在需要的页面调用
this.$router.replace({
   path: '/refresh',
   query: {
     t: Date.now()
    }
})

4.query传值 watch监听页面$route变化然后更新

5.provide / inject 组合

6.取巧的办法 <router-view ref="chartView"></router-view>

定义ref,然后调用相对应的方法,最好给每个页面都提供相同的方法

this.$refs.chartView.refresh()

就解决了点击当前路由没有刷新的问题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS location几个方法小姐
Jul 09 Javascript
javascript使用location.search的示例
Nov 05 Javascript
jQuery 动态云标签插件
Nov 11 Javascript
javascript中DOM复选框选择用法实例
May 14 Javascript
AngularJS实现全选反选功能
Dec 08 Javascript
Bootstrap页面标题Page Header的实现方法
Mar 22 Javascript
Vue.js分页组件实现:diVuePagination的使用详解
Jan 10 Javascript
微信小程序实现滴滴导航tab切换效果
Jul 24 Javascript
JavaScript模拟实现自由落体效果
Aug 28 Javascript
小程序实现订单倒计时功能
Apr 23 Javascript
js实现上传图片并显示图片名称
Dec 18 Javascript
uniapp微信小程序实现一个页面多个倒计时
Nov 01 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
Sep 26 #Javascript
浅谈Layui的eleTree树式选择器使用方法
Sep 25 #Javascript
layui禁用侧边导航栏点击事件的解决方法
Sep 25 #Javascript
解决LayUI数据表格复选框不居中显示的问题
Sep 25 #Javascript
关于layui导航栏不展示下拉列表的解决方法
Sep 25 #Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
Sep 25 #Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
Sep 25 #Javascript
You might like
用PHP实现验证码功能
2006/10/09 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
js三种排序算法分享
2012/08/16 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
JavaScript排序算法之希尔排序的2个实例
2014/04/04 Javascript
Javascript中的默认参数详解
2014/10/22 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
Angular4 中内置指令的基本用法
2017/07/31 Javascript
Angular实现响应式表单
2017/08/04 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Python count函数使用方法实例解析
2020/03/23 Python
简述安装Slackware Linux系统的过程
2012/05/08 面试题
母亲80寿诞答谢词
2014/01/16 职场文书
小班上学期评语
2014/05/05 职场文书
房屋所有权证明
2014/10/20 职场文书
三峡导游词
2015/01/31 职场文书
永远是春天观后感
2015/06/12 职场文书
自荐信大全
2019/03/21 职场文书
JavaScript函数柯里化
2021/11/07 Javascript