【发布时间】:2018-06-24 03:46:06
【问题描述】:
有人可以帮助我使用 scaphold.io 处理我的第一个查询吗?
当我使用内部 GraphiQL 向我的 scaphold 查询以下内容时:
query AllPrograms {
viewer {
allPrograms{
edges {
node {
id
name
}
}
}
}
}
返回是这样的:
{
"data": {
"viewer": {
"allPrograms": {
"edges": [
{
"node": {
"id": "UHJvZ3JhbTo2",
"name": "Blender"
}
},
{
"node": {
"id": "UHJvZ3JhbTo1",
"name": "Inkscape"
}
},
...
我的组件如下所示:
<template>
<md-card>
<span class="md-headline">Programma's</span>
<span class="md-headline">{{ allPrograms }}</span>
</md-card>
</template>
<script>
import gql from 'graphql-tag'
import config from '../../config/client'
const log = console.log
const allPrograms = gql `
query AllPrograms {
viewer {
allPrograms{
edges {
node {
id
name
}
}
}
}
}
`
export default {
props: [],
data () {
return {
allPrograms: '',
}
},
// Apollo GraphQL
apollo: {
// Local state 'posts' data will be updated
// by the GraphQL query result
allPrograms: { // <-- THIS allPrograms IS THE CAUSE OF THE ERROR!
// GraphQL query
query: allPrograms,
// Will update the 'loading' attribute
// +1 when a new query is loading
// -1 when a query is completed
loadingKey: 'loading',
},
}
}
</script>
我得到的错误是:结果中缺少 allPrograms 属性
我还读到了一些看起来像是正确 json-result 的一部分的内容:object: viewer: {allPrograms: Object, __typename: "Viewer"}
或者我可能误解了什么。我想我已经接近接收数据了,甚至可能已经成功了,但是拆分似乎需要一些额外的小心。
有什么想法吗?
【问题讨论】:
-
您是否尝试将“allPrograms”命名为其他名称?我没有太多 Vue-appolo 经验,但你有一个变量和一个名为 allPrograms 的 appolo 属性,这可能会产生奇怪的行为。
-
没有消除错误,但感谢您的建议,我现在知道
allPrograms在apollo:部分的声明是导致 Missing allPrograms 属性的原因结果错误。 (用评论标记。)这是什么意思?我没有正确初始化或解决它吗?
标签: javascript vue.js graphql apollo vue-apollo