Abh*_*Pal 4 apollo vue.js graphql vuejs2
我是 Django 开发人员,所以第一次接触 vue 和 graphql,我不知道如何准确处理这个错误。
这是我的代码,我的查询可能有问题,
<template>
<section>
<div class="home">
<h2>hiii</h2>
<div v-for="i in allposts" :key="i.id">
<ul>
<li>
<h3>hey</h3>
<strong>{{id}}</strong>:
<span>{{title}}</span>
</li>
</ul>
</div>
</div>
</section>
</template>
<script>
import gql from "graphql-tag";
const PostQuery = gql`
query allposts {
allPosts {
id
title
}
}
`;
export default {
props: [],
data() {
return {
allposts: []
};
},
apollo: {
allposts: PostQuery
}
};
</script>
Run Code Online (Sandbox Code Playgroud)
可以看到数据已成功获取
谁能指导我在这里做错了什么?
提前致谢。
通过谷歌来到这里。查看文档,其中解释了问题以及如何解决它: https: //apollo.vuejs.org/guide/apollo/queries.html#name-matching
请注意,初学者常见的错误是使用与查询中的字段名称不同的数据名称。
他们给出的例子:
apollo: {
world: gql`query {
hello
}`
}
Run Code Online (Sandbox Code Playgroud)
world
并且hello
不匹配,所以你会得到一个错误。
该名称必须匹配,或者按照文档的建议,您可以提供一个update
函数:
apollo: {
world: {
query: gql`query {
hello
}`,
update: data => data.hello
}
}
Run Code Online (Sandbox Code Playgroud)
或者,重命名 GraphQL 文档中的字段:
apollo: {
world: gql`query {
world: hello
}`
}
Run Code Online (Sandbox Code Playgroud)