首页 > 解决方案 > 在 vue/nuxt 中对当前路由进行动态 graphql 调用

问题描述

我想对我所在的当前路线进行 graphql 调用。我试图用 $nuxt.$route.$path 来做,但似乎我无法访问 graphql 头部的这个变量。

有没有办法初始化变量并将其替换为 "CURRENT ROUTE" ?

我的代码:

apollo: {
    casinos: gql `query getCasino {
      casinos(where: {Slug: "CURRENT_ROUTE"}) {
        id
        Brand_Name
        Slug
        game_providers {
          id
          Provider_Name
          Provider_Logo_150x50 {
            url
          }
        }
      }
    }`
  },

我试图用 variables() 来做,但它仍然不起作用,我得到了 400。

第二次尝试:

apollo: {
    casinos: gql `query getCasino ($route: String!){
      casinos(where: {Slug: $route}) {
        id
        Brand_Name
        Slug
        game_providers {
          id
          Provider_Name
          Provider_Logo_150x50 {
            url
          }
        }
      }
    }`,
    variables() {
      return {
        route: this.route
      }
    }
  },

标签: javascriptvue.jsgraphqlnuxt.jsapollo

解决方案


推荐阅读