簡體   English   中英

Vue 3 中的響應式查詢 Apollo graphql

[英]Reactive queries Apollo graphql in Vue 3

嘗試按照https://v4.apollo.vuejs.org/guide-option/queries.html#reactive-query-definition進行反應式查詢,但我無法讓它們工作。

錯誤:

未捕獲(承諾中)錯誤:無效的 AST 節點:{查詢:{種類:“文檔”,定義:[數組],位置:[對象]},loadingKey:“加載”}。

在導出默認值內查詢(選中的是響應式布爾v-model 'ed 到 data() 中定義的按鈕):

apollo: {
    getTags: getTags,
        getPhotos: {
        query() {
            if (this.checked)
                return {
                    query: getPhotos,
                    loadingKey: "loading",
                }
            else {
                return {
                    query: getPhotosByTag,
                    loadingKey: "loading",
                }
            }
        },
        update: (data) => data.getPhotos || data.getPhotos,
        },
},

GQL getPhotosByTag:

const getPhotosByTag = gql`
    query getPhotosByTag {
        getPhotos: findTagByID(id: 326962542206255296) {
            photos {
                data {
                    name
                    description
                    _id
                }
            }
        }
    }
`

GQL 獲取照片:

const getPhotos = gql`
    query getPhotos {
        getPhotos: getPhotos(_size: 50) {
            data {
                name
                description
                _id
            }
        }
    }
`

如果我將它們取出到單獨的查詢中並嘗試通過在查詢定義中checked!checked來更新使用 skip(),則只有初始加載會提供查詢,如果我單擊按鈕新查詢不會啟動。 查詢本身可以正常工作。

apollo: {
    getPhotos: {
        query() {
            return this.checked ? getPhotos : getPhotosByTag
        },
        loadingKey: "loading",
        update: (data) => data.getPhotos || data.getPhotos,
    },
},

加載鍵必須與查詢處於同一級別

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM