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()) 不需要条件判断
相关推荐
wangruofeng6 分钟前
2026 Web 技术选型指南,AI 时代如何选择适合项目的技术栈
前端·aigc·ai编程
\光辉岁月/11 分钟前
3.包装类
java·开发语言·包装类
honkun611 分钟前
vue 表格组件 vxe-table 修改滚动条样式,修改滚动条样式,统一宽度、颜色与自动隐藏
前端·javascript·vue.js
爱勇宝27 分钟前
研究数字孪生的这半年,做了个 Demo,也有了一些新想法
前端·程序员
不可能片场44 分钟前
工程实践 一个缓存把选片从十分钟压到一分钟
前端·electron
前端小万1 小时前
探索副业五个月,最终以放弃告终
前端·后端·面试
FRing031 小时前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
西索斯coding1 小时前
Grok 4.7 调用一直 401 怎么办?不是 Key 过期,是 Authorization 头格式问题——排查全流程 + 修复示例
服务器·开发语言·ai·php
葡萄城技术团队1 小时前
在 SpreadJS 里新增右键菜单,把业务动作放到用户手边
前端
大明二代1 小时前
从 RAG 到有记忆的 Agent:Mastra Memory 与 PostgreSQL 实战
前端·javascript·人工智能