Я новичок в Gridsome (и GraphQL), и я хотел бы создать следующее. У меня есть прямое отношение сотрудников к проектам, и я хотел бы создать страницу для каждого сотрудника со списком всех проектов, над которыми работал этот сотрудник. Я создаю страницы с помощью API страниц, который действительно работает. Однако передача контекста / перечисление проектов для каждого сотрудника не работает.
Все данные в разметке и выглядят следующим образом: Проекты:
---
name: "Project 1"
...
---
Сотрудники:
---
name: "Employee 1"
projects:
- name: "Project 1"
- name: "Project 2"
---
gridsome.server. js:
api.createPages(async ({ graphql, createPage }) => {
const { data } = await graphql(`{
allEmployee {
edges {
node {
id
name
projects {
name
}
}
}
}
}`)
data.allEmployee.edges.forEach(({ node }) => {
createPage({
path: `/${node.name}`,
component: './src/templates/Employee.vue',
context: {
id: node.id,
name: node.name,
projectsWorkedOn: node.projects
}
})
})
})
page-query в Employee. vue:
<page-query>
query EmployeeProjects ($projectsWorkedOn: [String]) {
allProject (filter: { name: { in: $projectsWorkedOn } } ) { //how to use the $projectsWorkedOn object here?
edges {
node {
id
name
}
}
}
}
</page-query>
Теперь это не работает, в по крайней мере, я пытаюсь использовать объект как массив, но я уверен, что с ним есть и другие проблемы. Я надеюсь, что кто-то может указать мне правильное направление, к сожалению, документация Gridsome довольно поверхностна.