javascript 使用Apollo Graphql的Vue组件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 使用Apollo Graphql的Vue组件相关的知识,希望对你有一定的参考价值。

<script>
import gql from 'graphql-tag';

// GraphQL query
const postsQuery = gql`
  query allPosts {
    posts {
      id
      title
      votes
      author {
        id
        firstName
        lastName
      }
    }
  }
`;

// Vue component definition
export default {
  // Local state
  data: () => ({
    // You can initialize the 'posts' data here
    posts: [],
    loading: 0,
  }),
  // Apollo GraphQL
  apollo: {
    // Local state 'posts' data will be updated
    // by the GraphQL query result
    posts: {
      // GraphQL query
      query: postsQuery,
      // Will update the 'loading' attribute
      // +1 when a new query is loading
      // -1 when a query is completed
      loadingKey: 'loading',
    },
  },
};
</script>

<template>
  <div class="post-list">
    <!-- If there is one or more queries loading -->
    <template v-if="loading > 0">
      Loading
    </template>
    <!-- Actual view -->
    <template v-else>
      <ul>
        <!-- Post list items -->
        <li v-for="post in posts" :key="post.id">
          {{ post.title }} by
          {{ post.author.firstName }} {{ post.author.lastName }}
        </li>
      </ul>
    </template>
  </div>
</template>

以上是关于javascript 使用Apollo Graphql的Vue组件的主要内容,如果未能解决你的问题,请参考以下文章

模拟 graph-ql 请求

如何从 Apollo/GraphQL 中捕获错误

Apollo GraphQL 中带有变量的嵌套查询

突变后 React Apollo 客户端道具 refetchQueries

javascript 使用Apollo Graphql的Vue组件

javascript 使用NodeJS保护Facebook Graph API调用