vue-apolloを使用してこのエンドポイントから映画データを受信する際に多くの問題が発生しています。
エンドポイント: http://movie-database-graphql.herokuapp.com/graphiql
そして、これは私がそれを構成する方法です(ところでスタイリングのためのVuetify):
main.js
import Vue from 'vue'
import App from './App.vue'
// Plugins
import './plugins/vuetify'
import VueApollo from 'vue-apollo'
import ApolloClient from 'apollo-boost'
const apolloClient = new ApolloClient({
uri: 'http://movie-database-graphql.herokuapp.com/graphql'
});
const apolloProvider = new VueApollo({
defaultClient: apolloClient,
})
Vue.use(VueApollo);
Vue.config.productionTip = false
new Vue({
apolloProvider,
render: h => h(App)
}).$mount('#app')
Apollo を介してデータベースを呼び出す方法に問題があると思いますが、まだわかりません。ドキュメントに従って多くの方法を試しましたが、常に失敗します。
MovieList.vue (クエリを含むコンポーネント)
<template>
<v-container fluid grid-list-md>
<v-layout row wrap>
<h4 v-if="$apollo.loading">Loading...</h4>
<v-flex v-for="movie in movies" :key="movie.id" xs12 sm6>
<v-card height="150px">
<v-layout row>
<v-avatar size="125" tile>
<v-img :src="movie.poster_path" contain></v-img>
</v-avatar>
<v-flex xs12 sm6>
<v-card-title primary-title>
<h3>{{ movie.title }}</h3>
</v-card-title>
</v-flex>
</v-layout>
</v-card>
</v-flex>
</v-layout>
</v-container>
</template>
<script>
import gql from "graphql-tag"
export default {
name: "MovieList",
data: () => { return { movies: [] } },
apollo: {
movies: gql`
query AllMoviesQuery {
movies(query: "Start Wars") {
id
title
poster_path
}
}`
}
};
</script>
私が欠けているものを理解していますか?ムービー データを受け取りません (エラーは表示されません...)。ムービー配列は常に空です