Vue 单文件组件怎么在生命周期钩子中发送网络请求

酷敏小哥_9370

酷敏小哥_9370

2026-10-20

889人浏览

原创

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

vue 单文件组件怎么在生命周期钩子中发送网络请求

在 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-composition-api-best-practices

Vue 3 组合式 API 与

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 17.2万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.4万人学习

Vue.js 微实战--十天技能课堂
Vue.js 微实战--十天技能课堂

共18课时 | 1.7万人学习