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 相关文章推荐
js模拟滚动条(横向竖向)
Feb 22 Javascript
js改变img标签的src属性在IE下没反应的解决方法
Jul 23 Javascript
jquery实现的一个简单进度条效果实例
May 12 Javascript
JavaScript严格模式详解
Nov 18 Javascript
jQuery实现的网格线绘制方法
Jun 20 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
Feb 10 Javascript
redux中间件之redux-thunk的具体使用
Apr 17 Javascript
使用JavaScript生成罗马字符的实例代码
Jun 08 Javascript
Vue开发实现吸顶效果的示例代码
Aug 21 Javascript
element ui table 增加筛选的方法示例
Nov 02 Javascript
JavaScript 预解析的4种实现方法解析
Sep 03 Javascript
javascript实现倒计时提示框
Mar 02 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抽象类 介绍
2012/06/13 PHP
简单介绍PHP非阻塞模式
2016/03/03 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
自己的js工具 Event封装
2009/08/21 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
javascript setinterval 的正确语法如何书写
2014/06/17 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
axios基本入门用法教程
2017/03/25 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
Python实现的几个常用排序算法实例
2014/06/16 Python
Python中无限元素列表的实现方法
2014/08/18 Python
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
django静态文件加载的方法
2018/05/20 Python
python邮件发送smtplib使用详解
2020/06/16 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
给校长的建议书100字
2014/05/16 职场文书
诚信承诺书模板
2014/05/26 职场文书
个人典型事迹材料
2014/12/30 职场文书
异地恋情人节寄语
2015/02/28 职场文书
大学生自我评价范文
2015/03/03 职场文书
财务出纳岗位职责
2015/03/31 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python
JS封装cavans多种滤镜组件
2022/02/15 Javascript
Ruby处理CSV数据方法详解
2022/04/18 Ruby