将变量传递给 Gridsome/Vue.js 中的 GraphQL 查询

sku*_*erk 7 vue.js graphql gridsome

我有一个使用 GraphQL 后端运行的 Vue.js 应用程序,以及作为 Vue.js 样板生成器的 Gridsome。

我正在尝试编写一个 GraphQL 查询以仅返回登录用户的数据,如下所示:

query Blah($test: String!) {
  db {
  settings (where: {user_id: {_eq: $test}})
  {
    key
    value
  }
}
Run Code Online (Sandbox Code Playgroud)

在这里定义了 $test 变量:

export default {
    data() {
        return {
            test: "Va123",
            user: null
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

An error occurred while executing query for src/pages/Profile.vue

Error: Variable "$test" of required type "String!" was not provided.
Run Code Online (Sandbox Code Playgroud)

这是用于 Girdsome页面,而不是模板

小智 0

看起来唯一的方法是使用编程方式创建页面createPage()并将页面上下文变量传递给页面查询。

https://gridsome.org/docs/pages-api/#the-page-context