vue 项目中刷新当前路由

vue开发网站--刷新当前页面 比如可以使用this.$router.replace({ path: ‘/path’, query: { param: ‘newParam’ }})将路由参数修改为新的值从而刷新页面。如果在Vue中使用了Vue Router,可以使用该方法来刷新当前路由页面。调用router.go(0)将会重新加载当前路由,并且保留当前的数据和状态。可以在需要刷新的地方调用该方法,它会重新加载当前页面,并且所有数据和状态都会被重置。 阅读详情

摘要

        在用 spa(单页面应用) 这种开发模式之前,用户每次点击侧边栏都会重新请求这个页面,用户渐渐养成了点击侧边栏当前路由来刷新 view 的习惯。但现在 spa 就不一样了,用户点击当前高亮的路由并不会刷新 view,因为 vue-router 会拦截你的路由,它判断你的 url 并没有任何变化,所以它不会触发任何钩子或者是 view 的变化。

使用场景

        当可能需要触发路由保护时,重新加载很有用。例如,假设用户在一个页面中注销并且还处在当前页面 A 中。A 可能允许访客使用,但它可能仅限于登录用户。这就是为什么在页面 A 上需要重新刷新,A 上的路由守卫会触发重定向到主页或登录页面,不然你就可以一直点击页面 A 的侧边栏,而不被拒绝访问。

解决方法

1、上一篇博客中有一个方法(v-if)

2、不改变 current URL 就不会触发任何东西,那可不可以强行触发 hook 呢?通过不断改变 url 的 query 来触发 view 的变化。监听侧边栏每个 link 的 click 事件,每次点击都给 router push 一个不一样的 query 来确保会重新刷新 view。

clickLink(path) {
  this.$router.push({
    path,
    query: {
      t: +new Date() // 保证每次点击路由的query项都是不一样的,确保会重新刷新view
    }
  })
}

ps:不要忘了在 router-view 加上一个特定唯一的 key,如 <router-view :key="$route.path"></router-view>,但这也有一个弊端就是 url 后面有一个很难看的 query 后缀如 xxx.com/article/list?t=1496832345025 

3、还可以判断当前点击的菜单路由和当前的路由是否一致,若一致的时候,会先跳转到一个专门 Redirect 的页面,它会将路由重定向到想去的页面,这样就起到了刷新的效果了。

点击的时候重定向页面至 /redirect

const { fullPath } = this.$route
this.$router.replace({
  path: '/redirect' + fullPath
})

redirect 页面在重定向回原始页面

// redirect.vue
export default {
  beforeCreate() {
    const { params, query } = this.$route
    const { path } = params
    this.$router.replace({ path: '/' + path, query })
  },
  render: function(h) {
    return h() // avoid warning message
  }
}

vue3 点击按钮,页面路由刷新 【代码】vue3 点击按钮,页面路由刷新。 阅读详情

相关推荐

Vue 刷新当前页面的 JavaScript 实现

本文介绍了两种在 Vue 中刷新当前页面的方法。第一种方法是使用 Vue Router,通过修改路由来实现页面的刷新。这种方法是通过重新加载页面来实现刷新的,会导致整个页面重新加载,包括所有的资源文件(如 CSS、JavaScript 文件等)。在 Vue 中,刷新当前页面通常是通过修改路由或重新加载页面来实现的。下面将介绍两种常见的方法来刷新当前页面。如果你不使用 Vue Router 或者只是想简单地刷新页面,你可以使用 JavaScript 中的。根据你的具体需求,选择合适的方法来刷新当前页面。

python_bug262的博客 232

VUE 刷新当前路由的方法

有一个需求是新增一条数据,成功后刷新该路由并带入新增数据的信息。$router.push()是没有用的,找了很多刷新路由的方法都不满足我需要的效果,所以结合了网上几种方法来实现当前路由刷新。...

weixin_70743228的博客 1万+

codesys【modbusRTU】主站

【代码】modbusRTU【codesys】

cfqq1989的博客 4373

VUE实现当前页面刷新的七种方法

需要注意的是,使用该方法会刷新整个页面,包括Vue实例、组件以及其他的页面元素,可能会导致一些不必要的开销,不是最优的解决方案。需要注意的是,该方法会重新加载整个页面,如果想要对页面局部进行刷新,可以考虑使用 Vue 自身的一些特性,比如通过设置组件的 key 属性实现组件的更新,或者通过调用。具体来说,当某个组件的数据发生变化,但是该组件的视图没有及时更新,导致页面没有被正确渲染时,可以在需要刷新的组件中调用。方法可以简单地实现当前页面的刷新,这个方法会重新加载当前页面,类似于用户点击浏览器的刷新按钮。

weixin_40381947的博客 6万+

【遥感数字图像处理(朱文泉)】第四章 变换域处理方法

变换域的处理方法

甜子yu的博客 4311

QT快速配置MSVC2017编译环境(3分钟极简指南)

本文提供了一份3分钟极简指南,帮助开发者快速配置QT的MSVC2017编译环境。通过断网安装、精准勾选组件和配置QT Creator编译器路径等步骤,大幅提升QT开发效率。MSVC2017作为Windows平台高性能C++编译器,特别适合处理大型QT项目,编译速度优势明显。

weixin_30399821的博客 503

Vue.JS项目中二级路由下刷新浏览器仍呈现当前路由的实现方案

1、需求介绍: 以下介绍一下实现起来没什么疑问的需求:设备列表为一个主页,点击设备列表中的编辑按钮,进入设备信息主页面,默认打开设备配置页,点击设备状态、设备日志、固件升级,会切换下方内容。 本人对以上需求实现方案:设备列表为一级路由,设备信息主页为二级路由,设备配置、设备状态、设备日志、固件升级在设备信息主页中使用v-if机制切换。 1.1、相关路由: 1.2、v-if...

一位不知名小前端的一些笔记 5688

分享一个简单的迭代学习机器人双臂控制(MATLAB)

1 什么是迭代学习控制 迭代学习控制(iterative learning control,简称ILC)由Uchiyama于1978年首先提出,不过因为论文由日文撰写,影响不是很大。1984年,Arimoto等人用英文介绍了该方法。它是指不断重复一个同样轨迹的控制尝试,并以此修正控制律,以得到非常好的控制效果的控制方法。 迭代学习控制的特点是“在重复中学习”,通过反复的迭代修正,达到改善控制效果的目的。迭代学习控制的原理是根据系统前次运行所获得的输出误差信息,在控制过程中不断修正控制输入,随着迭代的进行,逐

weixin_45776027的博客 4483

Vue.js项目刷新当前路由

转载:https://www.jianshu.com/p/72cdad357267 项目遇到的需求,如果点击跳转的路由和当前路由一致,刷新当前页面。 我开始想着用window.location.reload(),强制刷新当前页面。 问题: 此两种处理都会是当前页面进行刷新,浏览器进行重新加载,出现页面闪烁和空白,极大的降低了用户体验。所以这个排除。 解决办法(借助vue的选项/组合 provide/inject) 这对选项要组合一起使用,以允许一个祖先组件向其所有子孙后代组件注入一个依赖,不论组件层次有多

混世小妲己 809

基于opencv的鱼群检测和数量统计识别鱼群密度带界面

摘要:本项目利用OpenCV图像处理技术实现了视频鱼类自动检测计数系统。通过背景减除、形态学处理和轮廓检测等方法,在视频帧中标记鱼类并统计数量。系统包含视频读取、前景提取、轮廓分析、中心点跟踪等核心功能,可实时显示计数结果。适用于水产养殖、生态监测等领域,具有实用价值。未来可通过参数优化、引入深度学习和多目标跟踪技术进一步提升准确性。(147字)

1720

RK3588开发笔记-USB3.0接口调试

RK3588平台是一款强大的处理器,但要充分发挥其性能,需要正确调试其各种接口,包括USB 3.0接口。USB 3.0接口提供了更快的数据传输速度,但也可能面临一些问题。本篇博客将介绍如何在RK3588平台上调试USB 3.0接口,以确保其稳定性和性能。RK3588芯片具有强大的USB资源,包括多个USB接口和高速数据传输能力。RK3588通常具有多个USB接口,包括USB 2.0和USB 3.0。USB 2.0用于低速和全速设备连接,而USB 3.0则用于高速设备连接。

flypig has a dream! 2560

在vue项目开发中实现刷新当前路由页面

在最近开发的项目中入到一个问题:管理员根据自己的身份角色,可以随意切换不同的模块内容,同一模块下又有多种公司的角色; 实现这一功能的基本方式就是根据id与权限进行路由跳转,同时坑也来了!!!!!! 不同的路由跳转页面是随即刷新的,同一路线下仅改变id值则页面不刷新,数据就没有改变; 解决方案 1、方法一 最初的解决方式很简单,仅仅是使用了 window.location.reload();//实现...

绝对零度的博客 1314

YOLO 线性小目标涨点|3890 张输电导线散股 VOC+YOLO 单类别数据集实战,无人机电力缺陷巡检全流程落地

架空输电导线是电网能量传输核心载体,长期受风力摆动、雷击、腐蚀、外力撞击作用,外层铝股极易出现断裂散股故障。导线散股初期仅少量铝丝开裂,肉眼与无人机远距离航拍下属于细长微弱线性小目标;若未及时发现,散股会持续扩张,引发导线过热、断线、大面积停电重大电力安全事故。传统人工巡检存在多重行业痛点:山区、跨江河线路人员无法攀爬登杆,高空作业人身坠落风险极高;无人机单次航拍产出数千张高清图片,人工逐帧筛查微小散股耗时 3-5 天,阴天、逆光、植被遮挡场景漏检率超 45;

lin_xiu的博客 52

vue项目如何刷新当前路由

转发:https://blog.csdn.net/qq_16772725/article/details/80467492

MyQueen527的博客 1918

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Vue.js项目刷新当前路由(页面)的方法

方法一:暴力解决-强制整个页面进行刷新 1.使用this.$router.go(0)函数,可以强制刷新当前页面 2.使用window.location.href或者window.location.reload(),强制刷新当前页面 方法二:完美优雅-借助vue的选项/组合 provide/inject 这对选项要组合一起使用,以允许一个祖先组件向其所有子孙后代组件注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里生效 – 引自Vue.js官网描述 // App.vue组件 <templ

song_dong_Dong的博客 2099

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

工作笔记七——vue项目中使用ref属性刷新当前子路由

最近项目上有这样一个需求,做统计图表的展示,但是要在一个页面实现图表的切换和按日期条件的查询。类似这样的。点击图标选择器会弹出一个列表供用户选择要看的图表类型,图表选定后,点击右上角的选择日期会查询数据刷新当前的图表。其实,这种需求最简单的做法,就是将所有的图表写在一个界面中。但是每个图表的配置项不同,图表一多的话,界面代码将会非常臃肿且难以维护。所以我没有使用这种方法。我采取了子路由的方式。首先...

袁杰Jerry 6395

vue 路由嵌入iframe 刷新保留当前页面

最近在研发过程中,遇到了一个优化,vue项目嵌套在另外一个vue项目的iframe中,外层vue的iframe刷新,iframe中的vue项目希望可以停留在你当前操作的页面,而不是刷回到一开始的iframe里src路径 当开始听到这个优化点的时候,一上来有点懵,初步想法是存在localstroage里面,每次页面刷新的时候,去缓存里面取值,然后在push 但是这样操作有问题,localstro...

白大美的程序日志 4247

vue项目刷新当前页面的推荐方式

通过location.reload()或是this.$router.go(0)两种强制刷新方式,相当于按F5,会出现瞬间白屏,体验差,不推荐。推荐方式:定义一个空白路由页面,路由跳转到该空白页后立马跳回当前页,实现路由刷新。因为vue-router判断如果路由没有变化,是不会刷新页面获取数据的。在vue项目中,经常会遇到需要刷新当前页面的需求。这种方式,基本上能够应付绝大多数情况,推荐使用。1.在router路由表中定义一个空白路由,方式1:go(0)和reload()3.在需要刷新的页面使用。

FellAsleep的博客 1277

实时获取当前页面路由,刷新不丢失获取到的路由

从网上找到好多方法,现在整理总结一下,先把网上找到的方法说一下,自己在项目里面用过,表示没问题,可以用。 当前页面 Vue如何获取当前页面的url,获取路由地址 完整url可以用 window.location.href 路由路径可以用 this.$route.path 路由路径参数 this.route.params例如:/user/:id→/user/2044011030→this.route.params 例如:/user/:id → /user/2044011030 → this.route.pa

Cool_so_cool的博客 2259

Vue实现全局设置一个刷新按钮 只刷新当面路由页面 不跳转操作功能

这里需要使用到兄弟组件功能 具体如下。

m0_53912016的博客 317

Vue 项目重复点击菜单刷新当前页面

场景 最近在项目开发过程中,项目经理提了一个需求:在当前页面点击当前页面对应的(左侧)菜单时,也能刷新页面。 由于 Vue 项目的路由机制是路由不变的情况下,对应的组件是不重新渲染的。所以重复点击菜单不会改变路由,然后页面就无法刷新了。 解决方案: 借助重定向 利用一个空的 redirect 页面,通过判断当前路由是否与点击的路由一致,如果一致,则跳转到 redirect 页面,然后在 redirect 页面重定向回跳转之前的页面。这样就实现了页面刷新了。 1.创建一个空的页面:src/layout

m0_50125215的博客 2003

vue项目不切换路由刷新页面

需求说明: 点击铃铛图标跳转到 /msg/index 路由页面下,同时调用APi查询消息列表。 如果当前处于消息页时,重新加载路由刷新页面。 解决办法: 利用VUE提供的provide / inject 组合,简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。 首先,修改 <router-view/ >所在的页面,一般为App.vue ...

前端开发 3652

vue项目,更新完数据后如何刷新当前页面

今天码的时候,我删除了一条数据,删除完后发现获取完之后当前页面的数据并没有刷新,只有做一下其他的操作比如往前跳转一页再跳回来,数据才会刷新。 然后其他的新增、编辑功能并不会出现这种情况,都是在请求完成后数据立马刷新 想了一下发现可以这样做 如果你要刷新的页面是当前页面,那么你只需要直接重新调接口更新表格数据,不必刷新整个页面 例如·: toDelete(id) { this.$co...

weixin_42243479的博客 5384
上一篇: vue 项目中刷新页面
下一篇: 开发单位 vmin/vmax
`仰望星空`
博客等级 码龄6年 3粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值