如何使用Vue 3和composition API在渲染之前获取数据

41zrol4v  于 2023-11-21  发布在  Vue.js
关注(0)|答案(1)|浏览(158)

我想从一个API获取一些数据,然后填充我的商店(例如,用户信息),但我找不到一种方法来做 * 之前 * 整个页面和组件加载。
我发现有一个名为beforeRouteEnter的方法,您可以将其与选项API一起使用,但如果我想使用组合API(特别是与<script setup>一起使用),该怎么办?
我也试过这个:

const router = useRouter()

router.beforeResolve(() => {
  // fetch api and populate store
})

字符串
还有这个:

router.beforeEach(() => {
  // fetch api and populate store
})


但没有一个能满足我的需要。

w8f9ii69

w8f9ii691#

如此处的一个相关问题所示:How to make api call within created hook in vue 3?
在组合API中的正确方法是简单地生成一个

<script setup>
... imports...

const pizzas = ref([])

const GetPizzas = async () => {
  await api.get('pizza/pizzas/').then((response) => {
    pizzas.value = response.data
  })
}
GetPizzas()

</script>

字符串
这实际上是有意义的,因为在compositionAPI中,setup调用是“onLoad”或“onBeforeMount”

相关问题