使用延迟异步数据 useLazyAsyncData

这个围绕 useAsyncData 的包装器会立即触发导航。

useLazyAsyncData

提供了一个围绕 useAsyncData 的包装器,它在通过将 lazy 选项设置为 true 来解析处理程序之前触发导航。

描述

默认情况下,useAsyncData 会阻止导航,直到其异步处理程序得到解析。

useLazyAsyncDatauseAsyncData 具有相同的签名。

示例

vue
<script setup>
/* 导航将在获取完成之前发生。
   直接在组件模板中处理挂起和错误状态
*/
const { pending, data: count } = useLazyAsyncData('count', () => $fetch('/api/count'))

watch(count, (newCount) => {
  // 因为计数开始时为空,所以您无法立即访问其内容,但您可以观看它。
})
</script>

<template>
  <div>
    {{ pending ? 'Loading' : count }}
  </div>
</template>

useLazyAsyncData 是编译器转换后保留的函数名,所以你不应该命名你自己的函数 useLazyAsyncData