查询变量未从 apollo 中的 vue 组件向下传递
Query variables not being passed down from vue component in apollo
我有一个接受 ID 参数的简单查询,但它不起作用。它说 "TypeError: Cannot read property 'taskId' of undefined" 。所以我认为它出于某种原因无法识别 'this' 关键字。
请看:
来自前端组件的 Apollo 查询:
getCommentsByTask: {
query: GET_COMMENTS_BY_TASK,
variables: {
taskId: this.taskId
},
result({ data }) {
this.getComments = data;
console.log("data", data);
}
}
在前端定义查询:
query GET_COMMENTS_BY_TASK($taskId: ID!) {
getCommentsByTask(taskId: $taskId) {
id
parentId
ownerId
text
}
}
服务器中的解析器:
async getCommentsByTask (_, {taskId}, context) {
const userId = getUserId(context)
const user = await User.findById(userId)
if (!user) return
const comments = await Comment.findById(taskId)
return comments
}
架构:
type Query {
getCommentsByTask(taskId: ID!): [Comment]
}
假设这是一个智能查询,如果您需要访问它,variables
应该是一个(常规,非箭头)函数。
我有一个接受 ID 参数的简单查询,但它不起作用。它说 "TypeError: Cannot read property 'taskId' of undefined" 。所以我认为它出于某种原因无法识别 'this' 关键字。
请看:
来自前端组件的 Apollo 查询:
getCommentsByTask: {
query: GET_COMMENTS_BY_TASK,
variables: {
taskId: this.taskId
},
result({ data }) {
this.getComments = data;
console.log("data", data);
}
}
在前端定义查询:
query GET_COMMENTS_BY_TASK($taskId: ID!) {
getCommentsByTask(taskId: $taskId) {
id
parentId
ownerId
text
}
}
服务器中的解析器:
async getCommentsByTask (_, {taskId}, context) {
const userId = getUserId(context)
const user = await User.findById(userId)
if (!user) return
const comments = await Comment.findById(taskId)
return comments
}
架构:
type Query {
getCommentsByTask(taskId: ID!): [Comment]
}
假设这是一个智能查询,如果您需要访问它,variables
应该是一个(常规,非箭头)函数。