首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue.js与GraphQl分页

问Vue.js与GraphQl分页
EN

Stack Overflow用户
提问于 2020-02-25 21:26:26
回答 1查看 996关注 0票数 0

我第一次在vue.js中使用Graphql,但无法实现分页工作。

vue组件如下所示:

代码语言:javascript
复制
    <template>
        <ApolloQuery :query="require('./breeds.gql')" :variables="{ page }" v-slot="{ result: { loading, error, data }, query }">
            <div v-if="data">
                <div class="flex flex-wrap lg:-m-2" v-if="data.breeds">
                    <breed class="gutter-three-items h-64" :breed="breed" :key="breed.id" v-for="breed in data.breeds"></breed>
                </div>

                <div v-if="data.breeds && !isLoading">
                    <h3 class="text-primary p-2 md:p-0">
                        Geen resultaat
                    </h3>
                </div>

                <div class="flex justify-start w-full">
                    <load-more container="scroll-breeds" :loading="isLoading" @load="page++"> </load-more>
                </div>
            </div>
        </ApolloQuery>
    </template>

<script>
export default {
    data() {
        return {
            page: 1,
        };
    }
</script>

breeds.gql看起来如下所示:

代码语言:javascript
复制
query Breeds($page: Int!) {
    breeds(page: $page) {
        id
        name_nl
        slug_nl
        full_overview_image
        total_posts
        is_activated
        total_dogs
    }
  }

然而,当我查看我的网络选项卡时,响应如下:

无法查询"BreedPaginator“类型上的字段"id”

我在这里做错了什么?

对于我的后端,我使用这个https://github.com/nuwave/lighthouse。

模式如下所示:

代码语言:javascript
复制
"A datetime string with format `Y-m-d H:i:s`, e.g. `2018-01-01 13:00:00`."
scalar DateTime @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\DateTime")

"A date string with format `Y-m-d`, e.g. `2011-05-23`."
scalar Date @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\Date")

type Breed {
    id: ID,
    name_nl: String
    slug_nl: String
    full_overview_image: String
    total_posts: String
    is_activated: Boolean
    total_dogs: String
}

type Query {
    breeds: [Breed] @paginate
}

请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-25 23:33:44

通过使用@paginate指令,可以将字段的类型转换为特定于原始字段类型的分页器类型。这在医生们中有解释

此指令用于根查询字段: 输入查询{Post: Post!!@paginate } 模式定义自动转换为: 输入Query{ Post (first: Int!,page: Int):PostPaginator }“Post项的分页列表”。键入PostPaginator {“邮政项目列表”。资料来源: Post!“有关项目列表的分页信息。”paginatorInfo: PaginatorInfo!} 可以像这样被质疑: {posts(第一: 10) { data { id title } paginatorInfo { currentPage lastPage }

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60403402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档