ログインしたユーザーが特定の場所を「お気に入り」としてマークできる一連の場所をリストする単純なアプリがあります。
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 に実際に目的のデータが含まれていることを確認しました。
これをどのように処理すべきかについてのアイデアはありますか?
ありがとう