Отображение значений, возвращаемых из списка AngularFireDatabase? - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь запросить некоторые данные из моей базы данных Firebase в моем приложении Ionic 3.Я пытаюсь следовать синтаксису в этого урока , но продолжаю сталкиваться с ошибкой:

ОШИБКА TypeError: queryFn не является функцией

Вот код, который я использую:

this.games = this.afDatabase.list('/games/', {
    query: {
        orderByChild: user.uid
    }
});

И мой импорт:

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { AngularFireAuth } from 'angularfire2/auth';
import { AngularFireFunctions } from 'angularfire2/functions'
import { AuthProvider } from '../../providers/auth/auth';
import { AngularFireDatabase } from 'angularfire2/database';
import { Facebook } from '@ionic-native/facebook';

Что может быть причиной этой ошибки?


РЕДАКТИРОВАТЬ

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

this.afDatabase.list<Game>('/games/', ref => ref.orderByChild(user.uid)).valueChanges().subscribe(data => console.log(data));

Но это приводит к другой ошибке:

Uncaught TypeError: Object (...) не являетсяfunction

Как я могу отобразить возвращаемое наблюдаемое в моем шаблоне?Я попытался подписаться, как описано выше, и я также попытался сделать это непосредственно в шаблоне, как это:

this.games = this.afDatabase.list<Game>('/games/', ref => ref.orderByChild(user.uid)).valueChanges();

Затем в шаблоне:

*ngFor="let game of games | async"

, что приводит к ошибке:

Uncaught TypeError: Object (...) не является функцией

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Решение другого моего вопроса, которое я отнес к отдельной проблеме, решило эту проблему.

Необходимо обновить rxjs с версии 5 до версии 6.

AngularFire httpsCallable Object(...) не является функцией

0 голосов
/ 21 мая 2018

this.games является наблюдаемой?gameCol: AngularFirestoreCollection;

games: Observable<Games[]>;
gameArray: Games[];

  getAllGames() {
        this.gameCol= this.db.collection('games');
        return this.gameCol.valueChanges();
    }
this.games.getAllGames();

    this.games.subscribe(game => {
      this.gameArray = game;
    });

в HTML

<select class="form-control">
    <option [value]="0">Select</option>
    <option *ngFor="let game of games">
    {{game.something}}
   </option>
</select>
...