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 相关文章推荐
parseInt parseFloat js字符串转换数字
Aug 01 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
Feb 10 Javascript
Javascript中的getUTCDay()方法使用详解
Jun 10 Javascript
jquery实现的横向二级导航效果代码
Aug 26 Javascript
用JS实现图片轮播效果代码(一)
Jun 26 Javascript
jquery append与appendTo方法比较
May 24 jQuery
详解如何用模块化的方式写vuejs
Dec 16 Javascript
jquery+php后台实现省市区联动功能示例
May 23 jQuery
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
Sep 18 Javascript
在Vue中使用antv的示例代码
Jun 29 Javascript
element-ui tree结构实现增删改自定义功能代码
Aug 31 Javascript
JavaScript 异步时序问题
Nov 20 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/06 PHP
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
浅谈php提交form表单
2015/07/01 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
详解Node.js中path模块的resolve()和join()方法的区别
2018/10/29 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
Python3读取文件常用方法实例分析
2015/05/22 Python
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
Python装饰器用法实例分析
2019/01/14 Python
对python判断是否回文数的实例详解
2019/02/08 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
python判断是空的实例分享
2020/07/06 Python
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
中文专业毕业生自荐信
2013/10/28 职场文书
大学生个人事迹材料
2014/01/21 职场文书
同事吵架检讨书
2014/02/05 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
入伍通知书
2015/04/23 职场文书
开票证明
2015/06/23 职场文书
企业文化学习心得体会
2016/01/21 职场文书
2019通用版导游词范本!
2019/08/07 职场文书
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
springboot新建项目pom.xml文件第一行报错的解决
2022/01/18 Java/Android
node快速搭建后台的实现步骤
2022/02/18 NodeJs
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers