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 相关文章推荐
Jquery cookie操作代码
Mar 14 Javascript
javascript定义函数的方法
Dec 06 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
Oct 24 Javascript
javascript回车完美实现tab切换功能
Mar 13 Javascript
jQuery使用addClass()方法给元素添加多个class样式
Mar 26 Javascript
简单的js计算器实现
Oct 26 Javascript
ES6概念 Symbol toString()方法
Dec 25 Javascript
微信小程序 数组中的push与concat的区别
Jan 05 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
Mar 04 Javascript
基于Fixed定位的框选功能的实现代码
May 13 Javascript
在vue中使用vuex,修改state的值示例
Nov 08 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
Sep 16 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+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
JS版网站风格切换实例代码
2008/10/06 Javascript
动态添加js事件实现代码
2009/03/12 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
Python实现的自定义多线程多进程类示例
2018/03/23 Python
python查询mysql,返回json的实例
2018/03/26 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
Python3简单实现串口通信的方法
2019/06/12 Python
python输入多行字符串的方法总结
2019/07/02 Python
Python 3 判断2个字典相同
2019/08/06 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
《挑山工》的教学反思
2014/02/16 职场文书
2015年清明节活动总结
2015/02/09 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
2015年科协工作总结
2015/05/19 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书