当视图更改时,vue-apollo是否会自动取消订阅查询?
例如,我有两个路由到/users和/orders的视图。/users订阅了users表,/orders订阅了orders表。
发布于 2020-02-25 20:20:29
由于Apollo查询绑定到您的组件,它们将遵循您的组件的生命周期,即,如果您的路由更改(呈现不同的组件),您的旧组件将被删除,因此您的旧查询也将被删除。
这是由this mixin在Vue apollo中处理的。
请看以下部分:
export function installMixin (Vue, vueVersion) {
Vue.mixin({
// Other irrelevant code for this question
destroyed: destroy,
})
}这意味着它绑定到每个Vue组件的“destroyed”事件,然后触发销毁函数(由Vue API reference定义):
function destroy () {
if (this.$_apollo) {
this.$_apollo.destroy()
}
}所以这个过程确保你的查询被销毁,并且当你的组件被销毁时不再有效。
我希望这能回答你的问题。
https://stackoverflow.com/questions/60255080
复制相似问题