Nuxt Apollo GraphQL error: Variable of required type was not provided
Nuxt Apollo GraphQL error: Variable of required type was not provided
我正在使用 Nuxt.js 和 Apollo 并尝试从 WordPress 访问 GraphQL。我确实设法获取了数据,所以我知道它有效。
我正在尝试根据其 URI 在文件 _slug.vue
.
中显示 post
pages/
--| _slug/
--| index.vue
问题出在我尝试将变量传递给查询时。我收到以下错误 GraphQL error: Variable "$uri" of required type "ID!" was not provided.
(我知道我正在访问的 page/URI 上有一个 post/data)。
<template>
<article>
{{ post }}
</article>
</template>
<script>
import fetchPost from '~/apollo/fetchPost.gql'
export default {
apollo: {
post: {
query: fetchPost,
varibles() {
return {
uri: this.$route.path,
}
},
},
},
}
</script>
虽然 fetchPost.gql
文件看起来像这样(我也尝试过内联查询,但没有什么区别)。
query queryPost($uri: ID!) {
post(id: $uri, idType: URI, asPreview: false) {
categories {
nodes {
name
uri
}
}
content(format: RENDERED)
date
excerpt(format: RENDERED)
featuredImage {
node {
altText
caption(format: RENDERED)
sourceUrl(size: LARGE)
mediaItemUrl
}
}
id
modified
postId
slug
title(format: RENDERED)
uri
}
}
nuxt.config.js
看起来像这样。
apollo: {
clientConfigs: {
default: {
httpEndpoint: process.env.WPGRAPHQL_ENDPOINT,
}
}
},
router: {
extendRoutes (routes, resolve) {
routes.push({
name: 'custom',
path: '/:slug*',
component: '~/pages/_slug.vue'
})
}
},
有人知道为什么我会收到错误消息吗?我该如何解决?
我写错了variables
。所以下面的作品。
variables() {
return {
uri: this.$route.path,
}
我正在使用 Nuxt.js 和 Apollo 并尝试从 WordPress 访问 GraphQL。我确实设法获取了数据,所以我知道它有效。
我正在尝试根据其 URI 在文件 _slug.vue
.
pages/
--| _slug/
--| index.vue
问题出在我尝试将变量传递给查询时。我收到以下错误 GraphQL error: Variable "$uri" of required type "ID!" was not provided.
(我知道我正在访问的 page/URI 上有一个 post/data)。
<template>
<article>
{{ post }}
</article>
</template>
<script>
import fetchPost from '~/apollo/fetchPost.gql'
export default {
apollo: {
post: {
query: fetchPost,
varibles() {
return {
uri: this.$route.path,
}
},
},
},
}
</script>
虽然 fetchPost.gql
文件看起来像这样(我也尝试过内联查询,但没有什么区别)。
query queryPost($uri: ID!) {
post(id: $uri, idType: URI, asPreview: false) {
categories {
nodes {
name
uri
}
}
content(format: RENDERED)
date
excerpt(format: RENDERED)
featuredImage {
node {
altText
caption(format: RENDERED)
sourceUrl(size: LARGE)
mediaItemUrl
}
}
id
modified
postId
slug
title(format: RENDERED)
uri
}
}
nuxt.config.js
看起来像这样。
apollo: {
clientConfigs: {
default: {
httpEndpoint: process.env.WPGRAPHQL_ENDPOINT,
}
}
},
router: {
extendRoutes (routes, resolve) {
routes.push({
name: 'custom',
path: '/:slug*',
component: '~/pages/_slug.vue'
})
}
},
有人知道为什么我会收到错误消息吗?我该如何解决?
我写错了variables
。所以下面的作品。
variables() {
return {
uri: this.$route.path,
}