首页 > 解决方案 > 如何在没有参数的情况下进行graphql突变?(Vue 阿波罗)

问题描述

我有一个 vue 应用程序,我在其中切换侧边栏菜单的宽度。我的计划是在本地 apollo 缓存中有一个 UI 对象,我可以在其中跟踪各种 UI 状态(例如侧边栏打开与关闭)。我有一个查询来检查侧边栏的状态和一个突变来更新它。但是由于某种原因,突变似乎需要我给它参数($id:ID),即使我在使用它时实际上并没有将任何东西传递给突变。当我不使用任何参数时,我应该如何编写突变?还是需要一个参数?尝试在下面删除参数和相应的错误消息。

代码:

像这样从两者中删除参数(尝试#1):

在此处输入图像描述

结果是:

错误信息:

像这样删除括号(尝试#2):

在此处输入图像描述

结果是:

在此处输入图像描述

标签: vue.jsgraphqlapollovue-apollo

解决方案


查询不带任何参数的字段时,应省略括号。换句话说,你会做

toggleSidebar

代替

toggleSidebar()

后者在 GraphQL 中不是有效的语法。


推荐阅读