如何在Vue组件事件中触发Apollo查询?

时间:2017-03-17 09:16:40

标签: javascript vue.js vuejs2 graphql apollo-client

如何在Vue.js组件中的mounted事件上触发Apollo GraphQL查询。

以下是我的代码:

<template>
</template>

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

const myQuery = gql`
  query someQuery {
    books{
      id
   }
}`

export default {
  data: () => ({
    books: []
  }),
  apollo: {
    books: {
      query: myQuery,
    },
  },
  mounted () {
  // run the appollo query here as well ?
  }
};
</script>

查询在第一次加载组件时运行正常,但是如何让它与各种事件一起运行?

1 个答案:

答案 0 :(得分:3)

this.$apollo.queries.books.refetch();

如果您有变量并需要在每次调用时更新它们,请将它们作为方法重新获取的参数传递:

this.$apollo.queries.books.refetch(variables);