Я использую Nuxt.js с Apollo и пытаюсь получить доступ к GraphQL из WordPress. Мне удается получить данные, поэтому я знаю, что это работает.
Я пытаюсь отобразить сообщение в зависимости от его URI в файле _slug.vue
.
pages/
--| _slug/
--| index.vue
Проблема в том, что я пытаюсь передать переменную в запрос. Я получаю следующую ошибку GraphQL error: Variable "$uri" of required type "ID!" was not provided.
(я знаю, что на странице / URI, к которым я обращаюсь, есть сообщение / данные).
<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'
})
}
},
Кто-нибудь знает, почему я получаю ошибку и как ее исправить?