问题标签 [vue-apollo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
758 浏览

javascript - vue-apollo 3.0.0 测试版配置

在这方面很新,所以非常感谢任何帮助。我知道如何使用 Apollo 客户端进行身份验证,但是当我将新的 vue-apollo-plugin ( https://www.npmjs.com/package/vue-apollo ) 添加到我的 Vue-cli-3 生成项目时。我不明白如何以及在哪里配置我的 authMiddleware。

这是cli自动生成的文件:

我有我以前通过此处的标头用于身份验证的内容:

似乎当我更深入地研究从 vue-apollo 包中导入的一些对象时,已经在createApolloClient具有此属性的对象中内置了类似的东西:

这是否意味着我可以简单地解构createApolloClient对象的属性?非常感谢任何帮助或提示。

0 投票
0 回答
759 浏览

vue.js - Vue / Apollo:如何更新新的订阅消息?

我一直在尝试让 Vue + Apollo 与我的 GraphQL 服务器一起工作,除了订阅部分之外,它就像一个魅力。

我在用着

如示例中所示(如此)。
新的subscriptionData到了,但我不知道如何将它与组件合并data.foo

所有的例子都使用previous.foo,但我previous的是{Symbol(id): "ROOT_QUERY"}
似乎我在这里错过了一个可能简单但至关重要的理解。

如何将新subscriptionData的组件数据对象放入模板中以访问它?

解决方案
原来的问题是第一个订阅在初始查询结果在缓存中可用之前返回。
检查previous作为ROOT_QUERY数据存在的元素解决了这个问题。
Apollo-Devtools 在这里也有助于更好地理解缓存中的数据结构。

0 投票
1 回答
639 浏览

javascript - vue-apollo 在路由器保护中执行 graphql 查询

我有一个应用程序,用户可以在其中注册活动。一旦用户注册,他就可以访问他以前无法访问的路线。

我正在为我的 api 请求使用 graphql。我的路由守卫中的代码如下所示:

这工作正常,并且每次路由更改时都不会执行请求,因为 vue-apollo 缓存了结果。我的问题是,如果用户注册然后尝试切换路线,他不能,因为查询的缓存结果仍在使用。

我不想在每次路由更改之前使用仅限网络的 fetchPolicy。

我该如何解决这个问题?

0 投票
0 回答
363 浏览

vue.js - Vue.js 处理尚未加载的数据

我试图了解在 Vue 中做事的最佳方式,并且在使用尚未加载的数据时遇到了一些困难。

我正在为通过 vue-apollo 加载的资源创建一个“显示”视图,表单由两个组件组成:表单组件和“编辑”组件(表单在新建和编辑之间共享)。

我的表格看起来有点像这样

像这样的“编辑”组件

当页面加载时,我收到一堆关于无法读取未定义的属性“名称”和“描述”的错误,这是有道理的,因为resource在初始页面加载时没有设置,但是最好的处理方法是什么?

必须有一种比不断检查是否model为空更清洁的方法来处理它。

0 投票
1 回答
1181 浏览

javascript - 如何访问由点击事件触发的 apollo (GraphQL) 查询的状态

在 vue 应用程序中,当用户单击按钮时,我需要运行 gql 查询。所以 HTML 部分有按钮:

并且相应的功能正在做一些调试console.log并触发this.apollo.query. 问题是我可以在控制台中看到所有 console.log 输出,所以函数执行了,但是没有钩子:error/result/watchLoading 发生。至少我在控制台输出中看不到任何东西。

当我将组件中的所有内容移动this.$apollo.queryapollo部分时,一切正常。所以更改后的工作代码如下所示:

但我不想在构建组件时调用此查询。我只想从函数中调用它。我对使用该skip()方法作为此处描述的解决方案不感兴趣。

问题是:我做错了什么,任何 watchLoading/error/result 挂钩都会将任何内容记录到控制台?

控制台中既没有错误也没有警告。但是,如果在示例中通过更改强制错误:

然后我在控制台中看到:

QueryManager.js?96af:473 未捕获的错误:需要查询选项。您必须在查询选项中指定您的 GraphQL 文档。

所以我确信阿波罗正在处理这个查询。但我不知道如何访问结果或状态。

0 投票
2 回答
853 浏览

vue.js - 在 Apollo 提供程序中更改 Apollo 端点

创建 Apollo 客户端后,有没有办法更改 Apollo 端点?我想让用户输入他们自己的端点。

0 投票
1 回答
137 浏览

graphql - Apollo Link 数据突变

我正在尝试对整个应用程序的 apollo-link 处理程序中的数据进行变异:我想删除所有边缘/节点,以简化应用程序中数据的处理。

当我尝试更改数据并返回数据的修改副本时,我的 vue 组件中的 apollo 处理程序会得到一个空的数据对象={}。我也尝试就地改变数据,但这也不起作用:vue 组件获取原始的不变data

这种行为的解释是什么?以及如何实现 Apollo 链接以能够改变数据?这可能吗?

0 投票
0 回答
928 浏览

vue.js - Vue-Apollo - 无法访问查询结果

我无法访问我的阿波罗查询的结果对象。我想使用结果在 plot.ly 图中显示它。

这只是用于 plot.ly 的 Vue 组件。

这是我想将 apollo graphql 结果带到图中的 Vue 主代码。

我想我没有得到 Apollo 模块的对象结构。谢谢你的帮助!

0 投票
1 回答
265 浏览

vuejs2 - `apollo-link-state` 和 `vuex`,当我使用 `vue-apollo` 时,我应该使用哪一个来进行状态管理?

apollo-link-state并且vuex,当我使用时,我应该使用哪一个来进行状态管理vue-apollo

https://github.com/Akryum/vue-apollo

0 投票
3 回答
2773 浏览

vuejs2 - Vue + Apollo:TypeError:this.getClient(...).watchQuery 不是函数

我正在尝试使用 Vue + Apollo(后端的 Postgraphile GraphQL 服务器)设置一个非常简单的查询。

在我的组件中(在脚本标签中):

../contants/graphql我有:

在我的 Graphiql 端点中,上面的查询没有任何问题。

但是,当我在 Vue 中运行它时,我会在控制台上收到以下消息:

到处搜索,找不到有类似错误的人...

有什么线索吗?我应该从哪里开始看?谢谢!!