nuxt / content 模块中的空条目数组

Empty array of entries in nuxt / content module

<template>
  <div>
    <input
      v-model="searchQuery"
      type="search"
      autocomplete="off"
      placeholder="Search Articles"
    />
    <ul v-if="articles.length">
      <li
        v-for="article in articles"
        :key="article.slug"
      >
        <NuxtLink v-if="$i18n.locale === 'ru'" :to="{ name: 'articles-slug', params: { slug: article.slug } }">
          {{ article.title }}
        </NuxtLink>
        <NuxtLink
          v-else
          :to="$route.fullPath.replace(/^\/[^\/]+/, `articles/${article.slug}`)"
        >
            {{ article.title }}
        </NuxtLink>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  name: 'SearchInput',
  data() {
    return {
      searchQuery: '',
      articles: []
    }
  },
  watch: {
    async searchQuery({ app, searchQuery }) {
      if (!searchQuery) {
        this.articles = []
        return
      }
      this.articles = await this.$content(`/articles/${ app.i18n.locale }`)
        .limit(6)
        .search(searchQuery)
        .fetch()
    }
  }
}
</script>

我有一个 nuxt 的内容模块,也是 i18n 本地化,使用文章搜索组件的例子也在 nuxt / content 框之外,逻辑上它应该去文章文件夹并生成嵌套翻译的链接,现在问题是数组是空的 tobish 它不包含在这些嵌套目录中,尽管我直接测试文章 / array.md,如果不嵌套在 en 和 ru 中并传递一行,例如:

  watch: {
    async searchQuery(searchQuery) {
      if (!searchQuery) {
        this.articles = []
        return
      }
       this.articles = await this.$content('articles')
        .limit(6)
        .search(searchQuery)
        .fetch()
    }
  }

一切都很好,我看到文章 array.md 但是如果我向 searchQuery 添加一个参数,例如 app 并在反引号中添加 en 和 ru 路径,以便它从 url 开始重复,一个空的array 并且没有错误,可能是什么问题?

https://i.stack.imgur.com/otCsA.png

这个选项对我有用

async searchQuery(searchQuery) {
  console.log(this.articles)
  if (!searchQuery) {
    this.articles = []
    return
  }
  this.articles = await this.$content(`/articles/${ this.$root.$i18n.locale }`)
    .limit(6)
    .search(searchQuery)
    .fetch()
}