推荐在 created 钩子中发起网络请求,因其在实例创建后立即执行、不依赖 dom 且兼容 ssr;需操作 dom 或第三方库时才用 mounted。

在 Vue 单文件组件(SFC)中,网络请求通常放在 created 或 mounted 钩子中发起,具体选哪个取决于你的需求:是否需要等 DOM 渲染完成、是否涉及服务端渲染(SSR)兼容性、以及数据是否用于初始渲染。
推荐用 created 发起请求(最常用)
created 钩子在组件实例创建完成、响应式系统已初始化后立即执行,此时可以访问 data、methods 和 computed,但 DOM 尚未挂载。适合「获取数据 → 渲染」的典型流程,尤其在 SSR 场景下更安全。
- 请求早,页面逻辑启动快;
- 不依赖 DOM,避免因操作未就绪元素报错;
- 配合
async/await或 Promise 链可自然处理加载状态; - 示例:在 created 中调用 axios.get,把结果赋给 data 属性,模板自动响应更新。
用 mounted 发起请求(需操作 DOM 或第三方库时)
mounted 在模板已挂载为真实 DOM 后触发,是最早能安全访问 document.querySelector 或初始化如 ECharts、Map 等依赖 DOM 的库的时机。如果请求结果要立刻用于 DOM 操作(比如设置焦点、滚动定位),或你明确需要等视图首次渲染后再拉取数据,就放这里。
vue-composition-api-best-practices
Vue 3 组合式 API 与
热门下载
相关下载
精品课程
相关推荐
/
热门推荐
/
最新课程
最新文章
