Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不变冲突:应为已解析的GraphQL文档_Graphql_Nuxt.js_Apollo_Vue Apollo - Fatal编程技术网

不变冲突:应为已解析的GraphQL文档

不变冲突:应为已解析的GraphQL文档,graphql,nuxt.js,apollo,vue-apollo,Graphql,Nuxt.js,Apollo,Vue Apollo,尽管变异被包装在gql标记中,但我还是得到了以下错误: 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 这个问题只是由下面的变异代码引起的,我有一个查询可以运行 代码: 从“gra

尽管变异被包装在
gql
标记中,但我还是得到了以下错误:

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
这个问题只是由下面的变异代码引起的,我有一个查询可以运行

代码:


从“graphql标记”导入gql
导出默认值{
阿波罗:{
createTask:{
突变:gql`
突变任务(
$taskName:String!
$taskDesc:String!
) {
设置会话(
taskName:$taskName
taskDesc:$taskDesc
) {
身份证件
任务名
}
}
`,
变量(){
返回{
taskName:this.res.data.task_name,
taskDesc:this.res.data.task_description,
}
},
},
},
数据(){
返回{
createTask:“”,
}
},
}
使用
apollo
对象声明,并在安装组件时运行。如果您有希望以这种方式运行的查询,那么您的代码将如下所示:

export default {
  apollo: {
    someQuery: gql`...`,
  }
}
然而,当处理突变时,您通常不希望在挂载上运行它们。相反,您希望执行变异以响应某些用户操作,如单击按钮。因此,上述语法不适用于突变。相反,您需要直接在一个方法中调用
this.$apollo.mutate

export default {
  methods: {
    createTask() {
      this.$apollo.mutate({
        mutation: gql`...`,
        variables: {...},
        // other options
      }).then(result => {
        // do something with the result
      })
    }
  }
}

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

异步帐户(){
返回{
查询:(等待导入('src/modules/accounts/graphql/accounts.list.query.gql'),
......
我只需要用一个require来代替这个import,它又高兴了

异步帐户(){
返回{
query:require('src/modules/accounts/graphql/accounts.list.query.gql'),
......

此代码导致错误:
不变冲突:必须包含一个查询定义。
我问题中的变异只是一个例子,我确实想在用户重定向到某个页面时运行它,在我的情况下,用户将被发送到
website.com/token?code=code
,然后我将使用
code
获得JWT t好的,我将使用apollo进行存储。我尝试使用这种方式,但似乎无法使用
createTask()调用
export default
中的方法<代码> >导出默认值有一种方法可以调用吗?听起来好像你想使用生命周期钩子和调用<代码>。这是$Apvo.Mutase<代码>。说,既然你正在使用SSR,你可以考虑在页面呈现之前在服务器端上这样做。我对Web开发和使用NUXT仍然是新的,我要试着理解怎么做,谢谢。