vue3中页面返回时刷新首页的处理方案

onDeactivated 是离开时 触发的,不是回来时!应该用 onActivated。

正确 Demo

ts 复制代码
// ✅ 列表页 index.vue
import { onActivated } from 'vue'

// 每次从其他页切回时自动刷新列表
onActivated(() => {
  getList()
})
ts 复制代码
// 新增页 add.vue - 保存成功
function handleSave() {
  addGroup(addForm).then(() => {
    ElMessage.success('Create successfully')
    router.back()
    tagsViewStore.delView(route)  // 关闭新增页标签,回到列表页触发 onActivated
  })
}

如果需要精确控制(仅从特定页返回才刷新)

ts 复制代码
// 用路由守卫拿到 from,存到变量里
let isFromAdd = false

router.beforeEach((to, from) => {
  isFromAdd = from.path === '/ae/groupSetup/add'
})

onActivated(() => {
  if (isFromAdd) {
    getList()
    isFromAdd = false  // 重置标记
  }
})

总结

操作 正确 错误
获取来源路由 router.beforeEach((to, from) => ...) useRoute().from
返回时刷新 onActivated onDeactivated
简单场景 直接用 onActivated(() => getList()) 不需要条件判断
相关推荐
临床数据科学和人工智能兴趣组3 小时前
在R语言中, 使用 as.factor() 函数转换数值型变量
开发语言·r语言
FungLeo6 小时前
成为全栈·React 管理后台篇·总复盘:从“接口能调通”到“后台值得使用”
前端·react.js·前端框架·项目复盘·成为全栈
andyweike6 小时前
php笔记
开发语言·笔记·php
Circ.7 小时前
Python 调试 Litellm 本地大模型接口:模型列表与对话接口实操踩坑记录
开发语言·python
Csvn7 小时前
并发模式:让渲染学会排队、插队和让路
前端
可乐鸡翅yeah_7 小时前
新手梳理:M3U8 线上问题,哪些是前端锅,哪些是后端锅
前端·ios·音视频·实时音视频·m3u8·音视频在线播放
Flynt8 小时前
Linear 用 1000 个 PR 换掉 styled-components,我写了 200 个按钮,把这笔账复现了一遍
前端·css·preact
现任明教教主~8 小时前
Thinkphp站群蜘蛛池SaaS系统YanyvSEO含多用户/积分/六大引擎计费/易支付对接
java·开发语言·spring
JavaGuide9 小时前
NVIDIA 又开源了!这次给 AI Agent 加上权限管控
前端·后端
excel9 小时前
prisma 如何处理数据库竞态
前端·数据库·后端