如何让所有可见的 Vue 组件重新获取它们的 Apollo 查询?

How to make all the visible Vue components refetch their Apollo query?

我不时重置 Apollo 的 InMemoryCache,我希望所有可见的 Vue 组件通过重新获取所有相关查询来对更改做出反应(自动或手动)。

我该怎么做?

我目前的解决方案是使用npm包vue-bus向所有可见的Vue组件发送一个事件,然后在每个vue组件中调用:

Object.values(this.$apollo.queries).forEach(query => query.refetch())