<a>
2 つのタグを使用して、ブログ ページの特定の投稿をページ分割しようとしています。
Prismic Pagination APIによると、これを実現するには?page=1
、 などのパラメーター link を渡すのと同じくらい簡単example.com/blog/?page=1
ですが、何も変わりません。
非同期関数内にあるコンポーネント インスタンスを使用して変更できない場合、オプションを照会するにはどうすればよいですか?page
asyncData()
pages/blog/index.vue
:
<template>
<div class="container">
<h1>{{ title }}</h1>
<h2>{{ content }}</h2>
<section class="columns is-multiline is-centered">
<article
class="post box column is-3-widescreen is-4-tablet"
v-for="(post, index) in posts"
:key="index"
>
<nuxt-link :to="`/blog/${post.uid}`">
<img :src="post.data.image.url" alt />
<h3 class="title is-6">{{ Dom.RichText.asText(post.data.title) }}</h3>
</nuxt-link>
</article>
</section>
<!-- I want to PAGINATE my posts from here -->
<nav class="pagination column">
<a class="pagination-previous button is-black"><</a>
<a class="pagination-next button is-black">></a>
</nav>
</div>
</template>
<script>
import Prismic from 'prismic-javascript'
import PrismicDOM from 'prismic-dom'
import { initApi, generatePageData } from '@/prismic.config'
export default {
data() {
return {
Dom: PrismicDOM,
title: 'Blog',
content:
'Welcome to my blog. Browse through a streamline of tech tutorials that suits you needs.'
}
},
head() {
return {
title: this.title,
meta: [
{
hid: 'description',
name: 'description',
content: this.content
}
]
}
},
asyncData(context) {
if (context.payload) {
return generatePageData('blog_page', context.payload)
} else {
return initApi().then(api => {
return api
.query(Prismic.Predicates.at('document.type', 'blog_posts'), {
pageSize: 3,
page: 1
})
.then(response => {
return generatePageData('blog_page', response.results)
})
})
}
}
}
</script>