Vue项目路由刷新的实现代码


Posted in Javascript onApril 17, 2019

当vue单页面需要替换参数并刷新页面时,这个时候使用this.$router.push或this.$router.replace会发现路由改变了,但是页面上的数据并没有实时刷新。在网上找到了以下几种方法,亲测可用:

this.$router.go(0)

在具体页面中,先通过this.$router.push或this.$router.replace替换路由,随后调用this.$router.go(0),页面就会强制刷新,但是该强制刷新与F5刷新效果类似,页面会有空白时间,体验感不好;

provide/inject

首先在app.vue页面中增加如下配置:

<template>
 <div id="app">
  <router-view v-if="isRouterAlive" />
 </div>
</template>

<script>
export default {
 name: 'App',
 data() {
  return {
   isRouterAlive: true
  }
 },
 provide() {
  return {
   reload: this.reload
  }
 },
 methods: {
  reload() {
   this.isRouterAlive = false
   this.$nextTick(() => {
    this.isRouterAlive = true
   })
  }
 }
}
</script>

然后在具体页面中加上inject配置,具体如下:

export default {
  name: 'orderAndRandom',
  
  // 就是下面这行
  inject: ['reload'],
  data() {},
  
  // 省略
 }

加上配置后,在调用this.$router.push或this.$router.replace替换路由后,再新增this.reload()就可以实现页面内数据刷新。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery模拟按下回车实现代码
Sep 20 Javascript
利用js制作html table分页示例(js实现分页)
Apr 25 Javascript
javascript实现youku的视频代码自适应宽度
May 25 Javascript
javascript实现禁止鼠标滚轮事件
Jul 24 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
Dec 17 Javascript
最常用的jQuery表单验证(简单)
May 23 jQuery
微信小程序template模板实例详解
Oct 27 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
Nov 30 Javascript
Vue组件系列开发之模态框
Apr 18 Javascript
快速对接payjq的个人微信支付接口过程解析
Aug 15 Javascript
JavaScript复制变量三种方法实例详解
Jan 09 Javascript
vue2.x 对象劫持的原理实现
Apr 19 Javascript
vue cli 3.x 项目部署到 github pages的方法
Apr 17 #Javascript
详解vue开发中调用微信jssdk的问题
Apr 16 #Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
Apr 16 #Javascript
vue微信分享的实现(在当前页面分享其他页面)
Apr 16 #Javascript
在Vue项目中使用snapshot测试的具体使用
Apr 16 #Javascript
vue.js中使用echarts实现数据动态刷新功能
Apr 16 #Javascript
详解vue-cli 脚手架 安装
Apr 16 #Javascript
You might like
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
php获得用户ip地址的比较不错的方法
2014/02/08 PHP
PHP实现事件机制的方法
2015/07/10 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
2016/02/03 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
通过js给网页加上水印背景实例
2019/06/17 Javascript
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Python中的time模块与datetime模块用法总结
2016/06/30 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
Python爬虫爬取ts碎片视频+验证码登录功能
2021/02/22 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
挂职思想汇报
2013/12/31 职场文书
基层干部十八大感言
2014/01/19 职场文书
开学典礼感言
2014/02/16 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书