Как я могу условно вызвать клиента apollo в моем шаблонном скрипте vue? - PullRequest
1 голос
/ 27 сентября 2019

Я передаю запрос клиенту apollo в своем теге скрипта, в моем файле шаблона, но я не хочу делать это каждый раз.Скорее, я хотел бы передать логическое значение в подпорку, а затем выполнить запрос (или нет) на основе логического значения.

<template>
...
</template>

<script>
  import {
    MY_QUERY
  } from 'util/queries';

  props: {
    productId: {
      type: String,
      default: '',
    },
    suppressGraphQlQuery: {
      type: boolean,
      default: false,
    }
  },

  data() {
    return {
      relatedProducts: [],
      loading: 0,
      preloading: true,
    };
  },

  apollo: {
    relatedProducts: {
      query: MY_QUERY,
      variables() {
        return {
          id: this.productId,
        };
      },
    },
  },

</script>

Я хочу иметь возможность использовать опцию suppressGraphQlQuery, чтобы не вызывать аполлонклиент, но не уверен, как это сделать.Можно ли не запускать запрос, когда мой проп === истина?Заранее спасибо.

1 Ответ

1 голос
/ 27 сентября 2019

Вы можете пропустить запрос, подобный этому:

export default {
  props: {
    skipQuery: {
      type: Boolean,
      default: false,
    },
  },
  apollo: {
    relatedProducts: {
      query: MY_QUERY,
      variables() {
        return {
          id: this.productId,
        };
      },
      skip() {
        return this.skipQuery;
      },
    },
  },
};

...