首页 > 试题广场 >

在 Vue 组件的生命周期中,当需要在服务器端渲染 (SSR

[单选题]
在 Vue 组件的生命周期中,当需要在服务器端渲染 (SSR) 场景下执行数据预取逻辑时,应选择哪个钩子函数?
  • `mounted`
  • `beforeCreate`
  • `beforeMount`
  • `created`
专门给 SSR 用的:onServerPrefetch
onServerPrefetch 是 唯一一个只在 SSR 阶段执行 的生命周期钩子
• 用途:在服务端渲染之前执行异步数据预取。
• 返回一个 Promise,Vue 会等它 resolve 再渲染组件。
import { ref, onServerPrefetch } from 'vue'

const data = ref(null)

onServerPrefetch(async () =>
 {
  // 只在服务端执行
  data.value = await fetchSomeData();
})

SSR 下,Vue 的生命周期被“劈成两半”:
◦ 前半段:beforeCreate / created / setup() / onServerPrefetch 在服务端执行;
◦ 后半段:beforeMount / mounted 以及所有更新/销毁钩子只在客户端执行。
发表于 2026-03-26 20:24:43 回复(0)