首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将组件呈现到_slug.vue中以获取内容?

如何将组件呈现到_slug.vue中以获取内容?
EN

Stack Overflow用户
提问于 2021-05-01 09:56:42
回答 1查看 96关注 0票数 0

我想要获取markdown页面的内容。如果我在没有组件的情况下在_slug.vue中呈现它,它工作得很好,但是我不想重复代码,所以我需要在slug和组件之间传递“about”。

这是组件Content.vue:

代码语言:javascript
复制
<template>
<div>
    <nuxt-content :document="article" />
</div>
</template>
<script>
  export default {
      props:{
          message:{
              type: String,
              required: true,
              default: "hello"
          }
      },
    async asyncData({ $content, params }) {
      const article = await $content('blog', params.slug).fetch()
      return { article }
    }
  }
</script>
<style>
.wrapper {
  @apply min-h-screen flex justify-center items-center text-center mx-auto;
}
.card {
  @apply p-10 rounded-lg text-emerald-500 bg-emerald-100 shadow-lg;
  .title {
    @apply text-6xl font-bold;
  }
}
</style>

这是_slug.vue

代码语言:javascript
复制
<template>
<div>
    <NavBar />
    <Carousel />
    <!-- <nuxt-content :document="article" /> -->
    <Content message='blog'/>
</div>
</template>


<script>
/*
  export default {
    async asyncData({ $content, params }) {
      const article = await $content('blog', params.slug).fetch()
      return { article }
    }
  }
  */
</script>

我得到了这个错误:

代码语言:javascript
复制
Property or method "article" is not defined on the instance but referenced during render.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-01 11:51:59

为了避免重复,我相信这是一个你可以做的选择:

您将从页面组件检索数据,并将文章作为道具传递给内容。

代码语言:javascript
复制
/* _slug.vue */
<template>
<div>
    <NavBar />
    <Carousel />
    <Content :article='article'/>
</div>
</template>


<script>
  export default {
    async asyncData({ $content, params }) {
      const article = await $content('blog', params.slug).fetch()
      return { article }
    }
  }
</script>
代码语言:javascript
复制
/* Content */
<template>
<div>
    <nuxt-content :document="article" />
</div>
</template>

<script>
export default {
  props: {
    article: Object,
  },
}
</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67342268

复制
相关文章

相似问题

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