我不明白为什么要为每种查询类型使用专用服务。但是使用这种方法,我将不得不为一个查询创建一个服务,而我不喜欢这样做,因为那时我将不得不在一个组件中注入两三个服务。
没有apollo angular和graphql,我将为功能设置服务。他们在他们的文档中提供了为查询或变异watch here创建单独的服务 可以按角度进行吗?就像在我当前的代码中一样(每个功能服务)
// all queries for employee are in this service (no need to create a banch of services)
export class EmployeeGQLService {
constructor(private apollo: Apollo) { }
getAllEmployees() {
return this.apollo.watchQuery<{employees: Employee[]}>({
query: employeesQueries.GET_EMPLOYEES_LIST
})
.valueChanges;
}
getEmployeeById(id: string) {
console.log(id);
return this.apollo.watchQuery<{employee: Employee}>({
query: employeesQueries.GET_EMPLOYEE_BY_ID,
variables: {
id: id
}
})
.valueChanges;
}
}