如何解决使用Apollo和Vuejs的反应式查询定义
我尝试以编程方式调用查询,例如:
apollo: {
listItems: {
query() {
if (this.listType == "bills") {
return gql`
{
bills {
billId
order {
orderId
customer {
customerId
billingAddress {
title
}
}
}
createdAt
}
}
`;
}
},property
update: data => data.bills || data.bills
}
}
但是当我尝试此操作时,出现此错误:
vue.runtime.esm.js?2b0e:1888不变违规:期望解析的GraphQL文档。也许您需要将查询字符串包装在“ gql”标签中?
我已按照文档中的说明进行操作:
https://apollo.vuejs.org/guide/apollo/queries.html#reactive-query-definition
最诚挚的问候,并感谢四个帮助!
保持健康
解决方法
您不能在if
语句中包装阿波罗查询。您可以改用skip。在您的示例中,它是这样的:
listItems: {
query() {
return gql`
{
bills {
billId
order {
orderId
customer {
customerId
billingAddress {
title
}
}
}
createdAt
}
}`
},skip() {
return this.listType != "bills"
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。