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()) 不需要条件判断
相关推荐
nianniannnn1 小时前
c++复习自存--流、异常处理、多线程与C++工程规范
开发语言·c++
sugar__salt1 小时前
Node.js path 与 fs 核心模块完全指南 —— 从路径处理到异步流程控制
javascript·node.js
东方小月1 小时前
agent-skills:把资深工程师的‘工作流’,装进你的AI编程里
前端·架构·代码规范
geovindu1 小时前
CSharp: Dijkstra Algorithms
开发语言·后端·算法·c#
Maynor9961 小时前
AI Coding 零基础实战教程|第五部分:完整项目案例实操
java·前端·人工智能·claude code·ai coding
binbin_521 小时前
React 井字棋教程:用一个小游戏理解组件和状态
前端·react.js·前端框架
XR1234567881 小时前
食品饮料与制药行业GMP合规网络建设:无尘车间的网络不能成为污染源
开发语言·网络·php
学逆向的2 小时前
汇编——位运算
开发语言·汇编·算法·网络安全
zhangjw342 小时前
第29篇:Java伪共享与对象分配:并发性能优化的关键
java·开发语言·性能优化