在組件實例在服務器上呈現之前注冊一個要解析的異步函數。
類型
function onServerPrefetch(callback: () => Promise<any>): void
細節
如果回調返回一個 Promise,服務器渲染器將等到 Promise 被解析後再渲染組件。
此鉤子僅在服務器端渲染期間調用,可用於執行server-only 數據獲取。
示例
<script setup>
import { ref, onServerPrefetch, onMounted } from 'vue'
const data = ref(null)
onServerPrefetch(async () => {
// component is rendered as part of the initial request
// pre-fetch data on server as it is faster than on the client
data.value = await fetchOnServer(/* ... */)
})
onMounted(async () => {
if (!data.value) {
// if data is null on mount, it means the component
// is dynamically rendered on the client. Perform a
// client-side fetch instead.
data.value = await fetchOnClient(/* ... */)
}
})
</script>
相關用法
- Vue.js onMounted()用法及代碼示例
- Vue.js onUpdated()用法及代碼示例
- Vue.js onUnmounted()用法及代碼示例
- Vue.js useSSRContext()用法及代碼示例
- Vue.js app.directive()用法及代碼示例
- Vue.js mergeProps()用法及代碼示例
- Vue.js app.config.warnHandler用法及代碼示例
- Vue.js pipeToWebWritable()用法及代碼示例
- Vue.js app.use()用法及代碼示例
- Vue.js v-pre用法及代碼示例
- Vue.js h()用法及代碼示例
- Vue.js serverPrefetch用法及代碼示例
- Vue.js customRef()用法及代碼示例
- Vue.js <Transition>用法及代碼示例
- Vue.js inject()用法及代碼示例
- Vue.js mixins用法及代碼示例
- Vue.js ComponentCustomProps用法及代碼示例
- Vue.js reactive()用法及代碼示例
- Vue.js ComponentCustomProperties用法及代碼示例
- Vue.js app.mount()用法及代碼示例
- Vue.js <component>用法及代碼示例
- Vue.js createRenderer()用法及代碼示例
- Vue.js createApp()用法及代碼示例
- Vue.js app.config.errorHandler用法及代碼示例
- Vue.js v-on用法及代碼示例
注:本文由純淨天空篩選整理自vuejs.org大神的英文原創作品 onServerPrefetch()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。