1

把这个问题改写为不清楚。

我正在使用 Prismic,并且我已经能够在我的 Nuxt 项目中使用 prismic-javascript 在页面上提取博客文章。

这就是我目前所拥有的:

  <section v-for="(post, i) in blogPosts" :key="i">
    {{ blogPosts[i].data.post_title[0].text }}
    {{ blogPosts[i].data.post_content[0].text }}
    <img :src="blogPosts[i].data.post_image.url" :width="blogPosts[i].data.post_image.dimensions.width">
  </section>

但是,我不确定如何将 Prismic RichText 渲染字符串放入 v-for,如下所示:

PrismicDOM.RichText.asHtml(blogPosts[i].data.post_content, linkResolver, htmlSerializer)

我可以在 v-for 之外执行此操作,创建一个变量,即使 - 这可能是一个单独的问题- 我将所有 html 呈现为普通文本,而不是标签。

我遵循了这个“教程”,但我也没有从博客中获得更新的内容,尽管 async/await (也许我也错过了一些东西)

这是获取帖子的其余代码:

async asyncData() {
const api = await Prismic.getApi(apiEndpoint, { accessToken: apiToken })
let blogPosts = {}
const response = await api.query(
  Prismic.Predicates.at('document.type', 'blog-post')
)
blogPosts = response.results
)
return {
  blogPosts
}

}

感谢您的回答,希望它也可以对其他人有所帮助/澄清。

4

1 回答 1

1

我认为代码中有错误。你能更新它并把这个:

blog_post = results.results[0];
const header = PrismicDom.RichText.asText(blog_post.data.blog_post_title);
const content = PrismicDom.RichText.asText(blog_post.data.blog_content);

我测试了一下,应该可以的!

于 2019-03-12T18:01:03.220 回答