我正在使用 Nuxt/Vue 构建一个站点,它使用的是 GraphQL 后端 API。我们使用 Nuxt 的 Apollo 模块访问它。
在页面组件中,您可以这样做(我认为这称为智能查询,但我不确定):
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
});
}
}
我不确定这两种方式有什么区别,哪种更好。有人知道吗?我在任何地方的文档中都找不到解释。