Strapi GraphQL-如何创建分页?

时间:2020-08-07 16:48:17

标签: graphql strapi vue-apollo

我正在使用Strapi v.3.1.3,并试图为博客建立一个分页系统。

当前加载博客文章时,我运行了一个查询,查询结果是由slug查找的。

_slug.vue:

apollo: {
      post: {
        prefetch: false,
        query: postQuery,
        variables() {
          return {
            slug: this.$route.params.slug,
          }
        }
      }
    },

post.gql:

query Post($slug: String!) {
  post: postBySlug(slug: $slug) {
    id
    title
    content
    slug
    updatedAt
    createdAt
    published_at
  }
}

./ api / post / config / schema.graphql.js:

const { sanitizeEntity } = require('strapi-utils');

module.exports = {
  query: `
    postBySlug(id: ID slug: String): Post!
  `,
  resolver: {
    Query: {
      postBySlug: {
        resolverOf: 'Post.findOne',
        async resolver(_, { slug }) {
          const entity = await strapi.services.post.findOne({ slug });
          return sanitizeEntity(entity, { model: strapi.models.post });
        }
      }
    }
  }
}

这对于通过slug加载单个帖子非常有用,但是现在我不确定在确定上一个/下一个帖子时应该采用的方法。我什至不完全确定Strapi GraphQL目前可以处理类似的事情。

我可以查询所有帖子,因为这使我可以使用limitstart,但是如果我使用子弹而不是ID,那么我如何知道在页面加载时查找哪个帖子?

0 个答案:

没有答案