當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Vue.js onServerPrefetch()用法及代碼示例

在組件實例在服務器上呈現之前注冊一個要解析的異步函數。

類型

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>

相關用法


注:本文由純淨天空篩選整理自vuejs.org大神的英文原創作品 onServerPrefetch()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。