Vue Apollo 重新获取事件查询

Posted

技术标签:

【中文标题】Vue Apollo 重新获取事件查询【英文标题】:Vue Apollo refetch query on event 【发布时间】:2021-01-27 15:40:14 【问题描述】:

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

@Component(
  apollo: 
    cartProducts: 
      query: GET_CART_PRODUCTS,
      loadingKey: "loading",
    ,
  
)

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

  refresh() 
    this.$apollo
      .query(
        query: GET_CART_PRODUCTS,
      )
      .then((res: any) => (this.cartProducts = res.data.cartProducts))
      .catch((err: any) => console.log(err));
  

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

【问题讨论】:

【参考方案1】:

答案很简单,不好意思打扰了,我得google一下。

   this.$apollo.queries.cartProducts.refetch()

【讨论】:

以上是关于Vue Apollo 重新获取事件查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Vue 组件事件中触发 Apollo 查询?

Apollo:延迟重新获取查询

如何让 Apollo 客户端重新获取特定查询?

如何让 apollo-module 自动重新获取有关查询参数更新的查询

使用 Apollo 重新获取部分 GraphQL 查询的最佳实践?

在 apollo 客户端中重新获取查询