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 相关文章推荐
Add a Formatted Table to a Word Document
Jun 15 Javascript
JQuery读取XML文件数据并显示的实现代码
Dec 16 Javascript
JQuery 操作select标签实现代码
May 14 Javascript
js报$ is not a function 的问题的解决方法
Jan 20 Javascript
ExtJS4如何给同一个formpanel不同的url
May 02 Javascript
JavaScript删除指定子元素代码实例
Jan 13 Javascript
微信小程序 数据访问实例详解
Oct 08 Javascript
详解angularjs结合pagination插件实现分页功能
Feb 10 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
Jun 15 Javascript
vue.js响应式原理解析与实现
Jun 22 Javascript
浅谈vue后台管理系统权限控制思考与实践
Dec 19 Javascript
js里面的变量范围分享
Jul 18 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 __autoload()方法真的影响性能吗?
2012/03/30 PHP
php连接mssql的一些相关经验及注意事项
2013/02/05 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
微信小程序 实例开发总结
2017/04/26 Javascript
js实现放大镜特效
2017/05/18 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
element-ui 上传图片后清空图片显示的实例
2018/09/04 Javascript
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
详解Python中的多线程编程
2015/04/09 Python
Python找出最小的K个数实例代码
2018/01/04 Python
Python遍历pandas数据方法总结
2018/02/09 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
python实现简单俄罗斯方块
2020/03/13 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
windows支持哪个版本的python
2020/07/03 Python
校三好学生主要事迹
2014/01/11 职场文书
20年同学聚会感言
2014/02/03 职场文书
银行求职自荐信
2014/06/30 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
督导岗位职责范本
2015/04/10 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技