如何在组件之间并行抓取?

问题描述 投票:0回答:1

在Nuxt 3中,当使用fetch来获取应该在组件中使用的页面的数据时,在组件中等待它的正确方法是什么?

app.vue

<templage>
  <Sidebar/>
  <NuxtPage>
</template

page.vue

const paramsStore = useParamsStore();
const {category} = storeToRefs(paramsStore);

const {data: product} = await useFetch('/api/product', {
  params: { ... }
});
category.value = product.value.category;

侧边栏.vue

const paramsStore = useParamsStore();
const {category} = storeToRefs(paramsStore);

const {data: sidebar} = await useFetch('/api/sidebar', {
  params: { 
    category: category.value    // <<< need to wait for the product fetch to finish
 }
});


nuxt.js nuxtjs3
1个回答
0
投票

只需将待处理添加到您的代码中即可。当它从服务器获取数据时,挂起为 true,并且它显示了一个微调器。

<div v-show="pending">
/// a spiner tag comes here

在你的脚本设置中


const {pending, data: sidebar} = await useFetch('/api/sidebar', .....

© www.soinside.com 2019 - 2024. All rights reserved.