<script setup>
const { data } = await useAsyncData('home', () => queryContent('/').findOne())
</script>
<template>
<pre>
{{ data }}
</pre>
</template>
const route = useRoute()
const { data } = await useAsyncData(
route.path,
() => queryContent(route.path).findOne()
)
const route = useRoute()
const { data: surround, error: surroundError } = await useAsyncData(
`${route.path}_surround`,
() => {
// データを取得する処理
},
)
/**
* パスからuseAsyncDataで使用するキーを生成する
* @param path useAsyncDataで取得するコンテンツのパス
* @param name 指定したパスに関連して取得するデータの一意な名前
* @returns useAsyncDataで使用するキー
*/
export const pathToUseAsyncDataKey = (
path: string,
...name: string[]
): string => {
const generatedPath = path
.split('/')
.filter((item) => item)
.join('-')
const generatedName = name.map((item) => `_${item}`).join('')
return `${generatedPath}${generatedName}`
}