Я создаю сайт с помощью Nuxt / Vue, и он использует API-интерфейс GraphQL backend. Мы получаем доступ к этому с помощью модуля Apollo для Nuxt.
В компоненте страницы вы можете сделать это (я думаю, это называется интеллектуальным запросом, но я не уверен):
apollo: {
pages: {
query: pagesQuery,
update(data) {
return _get(data, "pageBy", {})
}
},
}
Но вы также можете выполнить такой запрос, я думаю, используя хук Nuxt asyncData:
asyncData (context) {
let client = context.app.apolloProvider.defaultClient
client.query({query, variables})
.then(({ data }) => {
// do what you want with data
})
}
Я не уверен, в чем разница между этими двумя способами и какой из них лучше. Кто-нибудь знает? Я нигде не мог найти объяснения в документации.
asyncData
не обновляет кеш Apollo автоматически, в то время как интеллектуальный запрос делает это. - person Zelid   schedule 18.07.2019