我仍然对我在这里做错了什么感到有点困惑。本质上我有一个 vue 组件,我想在安装元素后异步加载一些数据。
我正在使用 NUXT 3 和组合 API。
<script setup>
let directories = useState('directories', () => null);
onMounted( async () => {
const { data: response } = await useAsyncData('directories', () => $fetch('/api/s3-get-directories'));
directories.value = response;
});
</script>
看起来 onMounted 在渲染之前触发,并且没有正确接收数据。如果我将 Mounted 包装到 setTimeout 中并给予 100 毫秒的延迟,它就可以正常工作。
我希望有一个示例来说明如何在客户端准备好后加载数据而不会阻塞。或者对我在这里做错了什么有任何解释。
我失踪了{ server: false }
在选项中
await useLazyAsyncData('directories', () => $fetch('/api/s3-get-directories'), { server: false });
这使得它只能在前端运行,而不能在后端运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)