前端知库

Vue 生命周期中何时访问 DOM、发请求和清理资源?

参考答案

setup 阶段用于建立响应式状态和组合逻辑;需要已挂载 DOM 的操作通常放在 mounted。更新后测量可结合 updated 或更精确的 watch 与 nextTick,但不要在更新钩子里无条件修改状态形成循环。

卸载时清理事件监听、订阅、定时器和未完成请求。KeepAlive 缓存组件还有激活与停用阶段,停用不等同于普通卸载,因此后台轮询等任务要按实际可见性控制。

请求是否放在挂载阶段取决于渲染方案;SSR 框架可能有专门数据加载机制。所有生命周期相关代码都应考虑重复进入、路由切换和请求返回顺序,而不只验证第一次打开页面。