Vue 刷新当前路由方法

Vue路由刷新技巧
部署运行你感兴趣的模型镜像

方法是从别人那看来的,记录一下。   原文链接忘了,所以发原创 了。
vue通过js执行完方法后有时需要刷新当前路由,常见的this.reload(),  window.reload()之类,但这类刷新会刷新整个页面,出现白屏,体验不好,所以在网上又找了一种中转的方法,如下。

需要刷新路由的页面调用刷新方法
新建refresh.vue
 

<!-- 空页面,负责中转到目标页面 -->
<template>
  <div></div>
</template>

<script>
export default {
  name: 'refresh',
  data () {
    return {
    }
  },
  beforeRouteEnter (to, from, next) {
    next(vm => {
      vm.$router.replace(from.path)
    })
  }
}

</script>
<style scoped>
</style>

from.path为需要刷新页面的地址。
为什么要用replace而不用push呢,因为push假如刷新成功后点返回会回到refresh页面,replace可以避免这个问题。
 

您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

### Vue3刷新当前页面路由而不重新加载整个应用 在 Vue3 中,可以通过编程方式实现刷新当前路由而不需要重新加载整个应用程序。一种常见的方式是通过 `router.replace` 或者 `router.push` 方法配合相同的路径来触发组件的重新渲染。 当需要保持 URL 不变的情况下刷新视图,可以在 `<RouterView>` 组件上使用 `key` 属性绑定到 `$route.fullPath` 上,这会使得每次路由发生变化时都强制重新创建内部组件实例[^1]: ```html <template> <div id="app"> <!-- 使用 key 强制刷新 --> <RouterView :key="$route.fullPath"/> </div> </template> ``` 对于更复杂的场景,比如希望仅在特定条件下才刷新视图,则可以定义一个自定义函数来进行控制,在该函数内先改变某些状态标志位再利用这些标志位去影响视图逻辑,最后恢复初始值以便下次操作[^2]: ```javascript // 定义 reload 函数用于手动刷新视图 function reload() { let currentRoute = router.currentRoute.value; // 更新本地存储或其他持久化机制保存必要参数 // 执行替换动作以达到刷新效果但不引起浏览器历史记录增加 router.replace({ path: &#39;/&#39;, query: { ...currentRoute.query }, // 复制现有查询字符串 }).then(() => { // 可选:在此处处理任何额外的任务,例如重新获取数据等 }); } ``` 如果项目中有 Vuex 状态管理库的话,也可以考虑将此功能封装成 action 并集中管理相关业务逻辑[^3].
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值