Vue Apollo 重新获取事件查询

Dav*_* Go 0 typescript apollo vue.js graphql vue-apollo

我的组件实例中有一个查询:

@Component({
  apollo: {
    cartProducts: {
      query: GET_CART_PRODUCTS,
      loadingKey: "loading",
    },
  }
})
Run Code Online (Sandbox Code Playgroud)

它正在正确加载我的数据。然后我更改数据库中的数据并希望在单击时重新获取它们,这会调用该函数:

  refresh() {
    this.$apollo
      .query({
        query: GET_CART_PRODUCTS,
      })
      .then((res: any) => (this.cartProducts = res.data.cartProducts))
      .catch((err: any) => console.log(err));
  }
Run Code Online (Sandbox Code Playgroud)

但它不会更新cartProducts属性,也不会给我任何错误。虽然如果我刷新页面,就会有新数据。在我的 Apollo 配置中,我有这样的属性fetchPolicy: "network-only"。这种行为的原因可能是什么?提前致谢!

Dav*_* Go 5

答案很简单,抱歉打扰,我不得不更多地谷歌搜索。

   this.$apollo.queries.cartProducts.refetch()
Run Code Online (Sandbox Code Playgroud)