结果Vue GraphQL上缺少电影属性
Posted
技术标签:
【中文标题】结果Vue GraphQL上缺少电影属性【英文标题】:Missing movies attribute on result Vue GraphQL 【发布时间】:2019-11-05 11:17:21 【问题描述】:我是前端开发人员,所以第一次接触 vue 和 graphql,我不知道该如何处理这个错误:
Missing getMovies attribute on result movies: Array(20)
这是我的代码,我可以在 chrome 的开发工具的响应中看到数据已成功获取:
"data":"movies":["__typename":"Movie","id":11,"overview":
代码如下:
<template>
<div class="hello">
<ul>
<li v-for="movie in movies" :key="movie.id">movie.title</li>
</ul>
</div>
</template>
<script>
import gql from 'graphql-tag'
export default
name: 'HelloWorld',
data()
return
movies: []
,
apollo:
getMovies:
query: gql`
query StarWars
movies(query: "Star Wars")
title
overview
poster_path
id
`,
result(data)
this.movies = data.movies
,
props:
msg: String
</script>
【问题讨论】:
【参考方案1】:根据this issue,您的apollo
属性应该有一个匹配的data
属性,但在这种情况下它们不匹配(一个名为movies
和getMovies
)。改变一个或另一个:
export default
name: 'HelloWorld',
data()
return
movies: []
,
apollo:
movies:
query: gql`
query StarWars
movies(query: "Star Wars")
title
overview
poster_path
id
`
,
props:
msg: String
没有必要在result
中自己设置data
。
【讨论】:
以上是关于结果Vue GraphQL上缺少电影属性的主要内容,如果未能解决你的问题,请参考以下文章
text Apollo GraphQL Vue.js错误结果缺少属性