Strapi GraphQL-如何创建分页?
我正在使用Strapi v.3.1.3,并试图为博客建立一个分页系统 目前正在加载一篇博客文章,我运行了一个查询,通过slug查找: \u slug.vue:Strapi GraphQL-如何创建分页?,graphql,strapi,vue-apollo,Graphql,Strapi,Vue Apollo,我正在使用Strapi v.3.1.3,并试图为博客建立一个分页系统 目前正在加载一篇博客文章,我运行了一个查询,通过slug查找: \u slug.vue: apollo: { post: { prefetch: false, query: postQuery, variables() { return { slug: this.$route.params.slug, }
apollo: {
post: {
prefetch: false,
query: postQuery,
variables() {
return {
slug: this.$route.params.slug,
}
}
}
},
query Post($slug: String!) {
post: postBySlug(slug: $slug) {
id
title
content
slug
updatedAt
createdAt
published_at
}
}
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 });
}
}
}
}
}
post.gql:
apollo: {
post: {
prefetch: false,
query: postQuery,
variables() {
return {
slug: this.$route.params.slug,
}
}
}
},
query Post($slug: String!) {
post: postBySlug(slug: $slug) {
id
title
content
slug
updatedAt
createdAt
published_at
}
}
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 });
}
}
}
}
}
/api/post/config/schema.graphql.js:
apollo: {
post: {
prefetch: false,
query: postQuery,
variables() {
return {
slug: this.$route.params.slug,
}
}
}
},
query Post($slug: String!) {
post: postBySlug(slug: $slug) {
id
title
content
slug
updatedAt
createdAt
published_at
}
}
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目前是否能够处理这样的事情
我可以查询所有帖子,因为这允许我使用limit
和start
,但是如果我使用的是slug而不是ID,那么我怎么知道在页面加载时可以找到哪篇帖子呢