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()) 不需要条件判断
相关推荐
z落落4 小时前
C# WinForm Socket 转串口设备服务器+Modbus CRC16校验+Socket 客户端
服务器·开发语言·c#
小灰灰搞电子10 小时前
Rust+Slint 实现动态消息提示框源码分享
开发语言·后端·rust
宿67411 小时前
vue3-包管理器
前端·vue.js
@PHARAOH11 小时前
WHAT - Remix 入门和基本实践:理解两套产物
前端·remix
传奇开心果编程11 小时前
【Rust入门知识点学与练】第21课:Trait 进阶 Advanced Traits
开发语言·学习·rust
新时代牛马11 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
swordbob11 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
mayaairi11 小时前
Vue2 生命周期完全指南:从创建到销毁的8个钩子函数
前端·javascript·vue.js
研☆香12 小时前
一个简单的气泡弹窗制作
javascript
白山编程大哥12 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python