Поскольку запросы Apollo привязаны к вашему компоненту, они будут следовать жизненному циклу ваших компонентов, т. Е. Если ваш маршрут изменится (будут отображаться разные компоненты), ваши старые компоненты будут удалены, и поэтому ваши старые запросы также будут удалены.
Об этом позаботится Vue apollo этот миксин .
Посмотрите на следующую часть:
export function installMixin (Vue, vueVersion) {
Vue.mixin({
// Other irrelevant code for this question
destroyed: destroy,
})
}
Это означает, что это привязывается к событию 'destroy' каждого компонента Vue, который затем запускает функцию уничтожения (как определено в Vue API-ссылке ):
function destroy () {
if (this.$_apollo) {
this.$_apollo.destroy()
}
}
Итак, этот процесс гарантирует, что ваши запросы будут уничтожены и больше не будут действовать, когда ваш компонент уничтожен.
Я надеюсь, что это ответ на ваш вопрос