首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不变冲突:期待解析的GraphQL文档

不变冲突:期待解析的GraphQL文档
EN

Stack Overflow用户
提问于 2020-06-22 18:18:51
回答 2查看 3K关注 0票数 2

尽管gql标记中包含了突变,但我还是得到了以下错误:

代码语言:javascript
复制
Invariant Violation: Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a "gql" tag? http://docs.apollostack.com/apollo-client/core.html#gql

这个问题只是由下面的变异代码引起的,我有一个可以工作的查询。

代码:

代码语言:javascript
复制
<script>
import gql from 'graphql-tag'

export default {
  apollo: {
    createTask: {
      mutation: gql`
        mutation Task(
          $taskName: String!
          $taskDesc: String!
        ) {
          setSession(
            taskName: $taskName
            taskDesc: $taskDesc
          ) {
            id
            taskName
          }
        }
      `,
      variables() {
        return {
          taskName: this.res.data.task_name,
          taskDesc: this.res.data.task_description,
        }
      },
    },
  },
  data() {
    return {
      createTask: '',
    }
  },
}
<script>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-22 18:35:47

智能查询使用apollo对象声明,并在组件挂载时运行。如果您有希望以这种方式运行的查询,那么您的代码将如下所示:

代码语言:javascript
复制
export default {
  apollo: {
    someQuery: gql`...`,
  }
}

但是,在处理突变时,通常不希望在挂载上运行它们。相反,您想要执行突变以响应某些用户操作,比如按钮单击。所以上面的语法不适用于突变。相反,您需要直接在一个方法中调用this.$apollo.mutate

代码语言:javascript
复制
export default {
  methods: {
    createTask() {
      this.$apollo.mutate({
        mutation: gql`...`,
        variables: {...},
        // other options
      }).then(result => {
        // do something with the result
      })
    }
  }
}
票数 2
EN

Stack Overflow用户

发布于 2021-05-05 00:36:48

最近我遇到了这个问题,这是因为我正在使用vue-阿波罗的异步导入的问题。

代码语言:javascript
复制
    async account () {
      return {
        query: (await import('src/modules/accounts/graphql/accounts.list.query.gql')),
......

我只需要用一个要求来代替那个进口,它又高兴了。

代码语言:javascript
复制
    async account () {
      return {
        query: require('src/modules/accounts/graphql/accounts.list.query.gql'),
......
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62520976

复制
相关文章

相似问题

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