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 相关文章推荐
javascript 必知必会之closure
Sep 21 Javascript
做web开发 先学JavaScript
Dec 12 Javascript
JS获取图片lowsrc属性的方法
Apr 01 Javascript
初识angular框架后的所思所想
Feb 19 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
Jan 06 Javascript
Webpack执行命令参数详解
Jun 17 Javascript
vue事件修饰符和按键修饰符用法总结
Jul 25 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
Oct 28 Javascript
JS实现根据详细地址获取经纬度功能示例
Apr 16 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
Jun 24 Javascript
LayUi数据表格自定义赋值方式
Oct 26 Javascript
解决vue项目获取dom元素宽高总是不准确问题
Jul 29 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通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
javascript闭包入门示例
2014/04/30 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
python关键字and和or用法实例
2015/05/28 Python
Python实现的彩票机选器实例
2015/06/17 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
python 重命名轴索引的方法
2018/11/10 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
法国春天百货官网:Printemps.com
2020/06/29 全球购物
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
《我的第一本书》教学反思
2014/02/15 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
文秘应届生求职信
2014/07/05 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript
Python中 range | np.arange | np.linspace三者的区别
2022/03/22 Python
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA