useLazyAsyncData
這個
useAsyncData
的封裝會在導航觸發後立即執行。描述
預設情況下,useAsyncData
會阻塞導航,直到其非同步處理程式解析完成。useLazyAsyncData
提供了一個 useAsyncData
的封裝,透過將 lazy
選項設定為 true
,在處理程式解析前觸發導航。
useLazyAsyncData
具有與 useAsyncData
相同的簽名。示例
app/pages/index.vue
<script setup lang="ts">
/* Navigation will occur before fetching is complete.
Handle 'pending' and 'error' states directly within your component's template
*/
const { status, data: count } = await useLazyAsyncData('count', () => $fetch('/api/count'))
watch(count, (newCount) => {
// Because count might start out null, you won't have access
// to its contents immediately, but you can watch it.
})
</script>
<template>
<div>
{{ status === 'pending' ? 'Loading' : count }}
</div>
</template>
useLazyAsyncData
是一個由編譯器轉換的保留函式名,因此您不應將自己的函式命名為 useLazyAsyncData
。