Dado que las consultas de Apollo están vinculadas a su componente, seguirán el ciclo de vida de sus componentes, es decir, si su ruta cambia (se representan diferentes componentes), sus componentes anteriores se eliminarán y, por lo tanto, sus consultas anteriores también se eliminarán.
Esto se soluciona dentro de Vue apollo por este mixin .
Echa un vistazo a la siguiente parte:
export function installMixin (Vue, vueVersion) {
Vue.mixin({
// Other irrelevant code for this question
destroyed: destroy,
})
}
Esto significa que se une al evento 'destruido' de cada componente de Vue que luego activará la función de destrucción (como se define en la referencia de la API de Vue ):
function destroy () {
if (this.$_apollo) {
this.$_apollo.destroy()
}
}
Por lo tanto, este proceso garantiza que sus consultas se destruyan y ya no tengan efecto cuando se destruya su componente.
Espero que esto responda tu pregunta