PrismicDOM.RichText внутри v-for - PullRequest
       26

PrismicDOM.RichText внутри v-for

1 голос
/ 12 марта 2019

Перепишите этот вопрос, поскольку он не был ясен.

Я использую Prismic, и мне удалось получить сообщения блога на странице с помощью prismic-javascript в моем проекте Nuxt.

Этоэто то, что у меня есть в данный момент:

  <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 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
}

} ​​

Спасибо за ваши ответы, надеюсь, это также поможет / уточнить это для других.

1 Ответ

1 голос
/ 12 марта 2019

Я думаю, что в коде есть ошибка.Можете ли вы обновить его и поставить следующее:

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);

Я проверил это, оно должно работать хорошо!

...