【发布时间】:2020-06-19 20:37:45
【问题描述】:
我正在使用 vue-apollo + vue-property-decorator。我可以像这样很好地运行查询:
get apollo () {
return {
rc_tags: {
query: gql`{ <body of query> }`
}
}
}
但是如果我尝试使用组件的属性进行查询,例如从文件中
MYQUERY = gql`{ <body of query> }`
get apollo () {
return {
rc_tags: {
query: MYQUERY
}
}
}
然后我得到错误:
Invariant Violation: Expecting a parsed GraphQL document.
Perhaps you need to wrap the query string in a "gql" tag?
如果我像上面的示例那样从另一个文件导入 MYQUERY,或者它是本地组件的属性,则同样的错误并不重要。我可以将鼠标悬停在 MYQUERY 上并得到一个 TypeScript 提示,它是一个 DocumentNode,但无论我做什么,如果不将完整的模板文字放入实际的 get apollo () 函数中,我就无法让它工作。
【问题讨论】:
-
如果在getter里面加上console.log(MYQUERY),那么console里面的输出是什么?
-
页面已经加载后,它在控制台中看起来很好 - 但是,我引用了组件的一个属性,当
get apollo ()运行导致问题时,我意识到该属性不可用跨度>
标签: graphql apollo apollo-client vue-apollo graphql-tag