首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >result Vue GraphQL缺少movies属性

result Vue GraphQL缺少movies属性
EN

Stack Overflow用户
提问于 2019-06-23 18:57:01
回答 1查看 831关注 0票数 0

我是前端开发人员,所以我第一次接触到vue和graphql,我不知道如何处理这个错误:

代码语言:javascript
复制
Missing getMovies attribute on result {movies: Array(20)}

下面是我的代码,我可以在chrome中的dev工具的响应中看到数据被成功获取:

代码语言:javascript
复制
{"data":{"movies":[{"__typename":"Movie","id":11,"overview":

代码如下:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

发布于 2019-06-23 19:43:08

对于每个this issue,您的apollo属性应该有一个匹配的data属性,但在本例中,它们是不匹配的(其中一个被命名为moviesgetMovies)。更改一个或另一个:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56723183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档