Я пытался запросить данные в Firebase, используя запрос списки.
Когда я пытаюсь сделать что-то аналогичное тому, что описано в этой документации:
getMatchesFiltered(matchId: string, filter: string, sortDirection: string, pageIndex: number, pageSize: number){
let queryObservable = this.db.list('/matches', ref => ref.orderByKey(true).limitToFirst(2));
return queryObservable;
}
Я получил ошибку "Аргумент типа" {запрос: {...};}' не может быть назначен параметру типа "FirebaseListFactoryOpts", что привело меня к этот полезный пост SO. Однако, когда я попытался изменить вышеуказанное на
getMatchesFiltered(matchId: string, filter: string, sortDirection: string, pageIndex: number, pageSize: number): AngularFireList<Match[]>{
let queryObservable = this.db.list('/matches', ref => ref.orderByKey(true).limitToFirst(2).valueChanges());
return queryObservable;
}
и добавить AngularFireList в импорт 'angularfire2/database', я получаю следующую ошибку:
ОШИБКА в src/app/database.service.ts(7,81): ошибка TS2305: модуль «/Users/mf/Desktop/dataJitsu/node_modules/angularfire2/database» не имеет экспортированного члена «AngularFireList».
Это наводит меня на мысль, что, возможно, у меня старая версия angularfire2? Действительно, мой package.json говорит:
"angularfire2": "^4.0.0-rc0",
И я полагаю, что новый список AngularFireList взят из версии 5.x.x?
Однако, когда я пытаюсь обновить, он не позволяет мне. Когда я запускаю устаревший npm, я вижу следующее:
Обратите внимание, что WANTED версия angularfire2 по-прежнему 4.0.0-rc0.
Что, наконец, подводит нас к моему вопросу: как мне выяснить, какие пакеты хотят, чтобы мои версии оставались там, где они есть? Другими словами, что удерживает меня от дальнейшего обновления? В качестве альтернативы, если кто-нибудь знает, как решить эту проблему на фронте angularfire2, я тоже готов к этому.