首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nuxt asyncData返回包含Nuxt内容的json5文件的空数组。

Nuxt asyncData返回包含Nuxt内容的json5文件的空数组。
EN

Stack Overflow用户
提问于 2022-04-08 22:29:43
回答 1查看 211关注 0票数 2

我使用asyncData方法检索json5文件的内容,并得到一个空数组。

我的文件位于内容/myfile.json 5

内容如下:

代码语言:javascript
复制
[
   {
     id: 1
   },
   {
     id: 21
   }
]

我的方法是:

代码语言:javascript
复制
async asyncData({ $content}) {
    const test = await $content('myfile').fetch()

    return {
      test
    }
  }

如果我使用嵌套在目录中的常规.json文件,比如/content/place/places.json,我也无法获取数组。结果是一个对象,其中填充了数组的第一项。它看起来只有当它位于根内容文件夹时才能工作。我在医生里找不到任何解释。

EN

回答 1

Stack Overflow用户

发布于 2022-04-09 10:47:23

下面是一个简单的/pages/index.vue文件,包含两个用例

代码语言:javascript
复制
<template>
  <pre>{{ nuxtContent }}</pre>
</template>

<script>
export default {
  async asyncData({ $content }) {
    return {
      1️⃣
      // nuxtContent: await $content('testfoobar', { deep: true })
      //   .where({ slug: { $contains: 'yolo' } })
      //   .fetch(),

      2️⃣
      nuxtContent: await $content('testfoobar', 'nice').fetch(),
    }
  },
}
</script>

我的项目结构

nice.json

代码语言:javascript
复制
{
  "name": "bob",
  "age": 25,
  "city": "New York"
}

places.json5

代码语言:javascript
复制
[
  {
    id: 1
  },
  {
    id: 21
  }
]

yolo.json5

代码语言:javascript
复制
[
  {
    id: 777
  },
  {
    id: 999
  }
]

第2种情况下的.json5文件不工作,不确定它是否需要任何特殊的语法或模块来处理它。

同时,case 1️⃣完全可以处理任何类型的文件(nice.jsonplaces.json5yolo.json5)。您也可以用.where删除行,使它们都有。

这里是一个屏幕截图,显示了我的示例中包含的5个对象(横跨所有3个文件)。

正如这里的文件中所解释的那样。

PS:如果您也想拥有hello.md (也在/content目录中),您可以使用这样的根路径:await $content('/', { deep: true }),您将得到hello.md +其他5个嵌套文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71803726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档