В настоящее время я работаю над некоторыми базовыми вещами с Angular (5) и GraphQL, и у меня возникают некоторые проблемы с вызовом вызова метода watchQuery
.Как только я вызываю метод, мой компонент падает и возвращает меня со следующей ошибкой:
ERROR TypeError: Object(...) is not a function
Я искал в Интернете решение, но не смог найти подходящего.Моя среда содержит следующие библиотеки:
- apollo-angular: ^ 1.1.0
- apollo-angular-link-http: ^ 1.1.0
- apollo-кэш-память: ^ 1.2.2
- apollo-client: ^ 2.3.2
- graphql: ^ 0.13.2
- graphql-tag: ^ 2.9.2
- rxjs: ^ 5.5.6
У меня есть общий модуль с некоторыми операциями импорта и ссылкой:
export class SharedModule {
constructor(apollo: Apollo, httpLink: HttpLink) {
apollo.create({
link: httpLink.create({uri: 'baseUri/graphql'}),
cache: new InMemoryCache()
});
}
}
И у меня есть следующий код в моем спискекомпонент:
getMovies() {
this.movies = this.apollo.watchQuery<Query>({ // <= where my error occurs
query: gql`
query {
movies {
id
title
genres
}
}
`
})
.valueChanges
.pipe(map((result) => result.data.movies));
}
полная ошибка содержит следующие строки вплоть до моего кода:
ERROR TypeError: Object(...) is not a function
at new QueryRef (QueryRef.js:6)
at ApolloBase.watchQuery (Apollo.js:30)
at MovieListComponent.getMovies (movie-list.component.ts:37)
at MovieListComponent.ngOnInit (movie-list.component.ts:29)
Если у кого-то есть предложения или вопросы, пожалуйста, дайте мне знать.