Для этого следует использовать параметр skip
, как показано в документах :
apollo: {
search: {
query: () => contactSearchGQL,
variables() {
return {
searchText: this.searchText,
};
},
skip() {
return !this.searchText;
},
...
},
},
В любое время searchText
обновления, skip
будет переоценен - если он оценивается как ложный, запрос будет выполнен. Вы также можете установить свойство пропуска напрямую, если вам нужно управлять этой логикой в другом месте вашего компонента:
this.$apollo.queries.search.skip = true
Параметр prefetch
относится только к SSR. По умолчанию vue-apollo
выполняет предварительную выборку всех запросов в серверных отрисованных компонентах. Если для prefetch
установлено значение false, эта функция будет отключена для конкретного запроса, что означает, что конкретный запрос не будет выполняться до тех пор, пока компонент не будет отображен на клиенте. Это не значит, что запрос пропущен. См. здесь для более подробной информации о SSR в vue-apollo
.