回答:
Apolloクエリはコンポーネントにバインドされているため、コンポーネントのライフサイクルに従います。つまり、ルートが変更された場合(異なるコンポーネントがレンダリングされた場合)、古いコンポーネントが削除され、古いクエリも削除されます。
これは、このミックスインによってVue apollo内で処理されます。
次の部分を見てください。
export function installMixin (Vue, vueVersion) {
Vue.mixin({
// Other irrelevant code for this question
destroyed: destroy,
})
}
これは、各Vueコンポーネントの「破棄された」イベントにバインドして、(Vue APIリファレンスで定義されているように)destroy関数をトリガーすることを意味します。
function destroy () {
if (this.$_apollo) {
this.$_apollo.destroy()
}
}
したがって、このプロセスにより、クエリが破棄され、コンポーネントが破棄されたときに無効になります。
これがあなたの質問に答えることを願っています