Переменные запроса не передаются из компонента vue в apollo - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть простой запрос, который принимает параметр ID, но он не работает. Он говорит: «TypeError: Невозможно прочитать свойство 'taskId' из неопределенного". Поэтому я думаю, что по какой-то причине оно не распознает ключевое слово «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]
}

1 Ответ

0 голосов
/ 02 ноября 2019

Предполагая, что это умный запрос, variables должна быть (обычной, не стрелкой) функцией, если вам нужен доступ к ней.

...