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 相关文章推荐
兼容FireFox 的 js 日历 支持时间的获取
Mar 04 Javascript
Javascript load Page,load css,load js实现代码
Mar 31 Javascript
jQuery中:enabled选择器用法实例
Jan 04 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
Apr 16 Javascript
基于Css3和JQuery实现打字机效果
Aug 11 Javascript
微信小程序 LOL 英雄介绍开发实例
Sep 30 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
Jan 17 Javascript
微信小程序 开发之顶部导航栏实例代码
Feb 23 Javascript
Node调用Java的示例代码
Sep 20 Javascript
微信小程序实现两个页面传值的方法分析
Dec 11 Javascript
JavaScript函数的特性与应用实践深入详解
Dec 30 Javascript
JavaScript两种计时器的实例讲解
Jan 31 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/12/04 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
php中3种方法删除字符串中间的空格
2014/03/10 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
python在不同层级目录import模块的方法
2016/01/31 Python
python操作 hbase 数据的方法
2016/12/18 Python
将python代码和注释分离的方法
2018/04/21 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
学生实习介绍信
2014/01/15 职场文书
交通事故检查书范文
2014/01/30 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
学习党章的体会
2014/11/07 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
质检员工作总结2015
2015/04/25 职场文书