2

ログインしたユーザーが特定の場所を「お気に入り」としてマークできる一連の場所をリストする単純なアプリがあります。

firebase の私のデータ構造には、次のような場所の単純なリストが含まれています。

ロケーション => ロケーション ID: [] => [{name: "MyName"}, {name: "MyName 2}]

Likes => userId: [] => location id: [] => {liked: true}

簡単なロジックを使用して、テンプレートでこれを反復処理したいと思います。

  <md-card *ngFor="let location of locations | async">
    <md-card-title> {{location.name}}</md-card-title>
    <md-card-content>{{location.liked}}</md-card-content>
  </mc-card>

私のコンポーネントの次のロジックで

  locations: Observable<any[]>;

  constructor(
    private cardService: CardService,
    private router: Router,
    public af: AngularFire)
  {
    this.locations = af.database.list('/trips')
      .map((locations) => {
        return locations.map((location) => {
          location.liked =  af.database.object(`/likes/${this.uid}/${location.$key}`);
          return location;
        })
      }); 

ただし、私の見解では location.liked プロパティは空のままです。/likes/${this.uid}/${location.$key} URL に実際に目的のデータが含まれていることを確認しました。

これをどのように処理すべきかについてのアイデアはありますか?

ありがとう

4

1 に答える 1