2

ログインしたユーザーが特定の場所を「お気に入り」としてマークすることができる場所のセットを一覧表示するシンプルなアプリケーションがあります。複数のリストから角度2のFirebaseを使用して値を取得する

firebaseマイデータ構造として位置の単純なリストが含まれています

場所=>場所ID:[] => [{名: "MYNAME"}、{「MYNAME 2名}]

<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> 
:私はいくつかの簡単なロジックを使用して、私のテンプレートでこれを反復したい

[] =>ロケーションID:::[] => {真気に入っ}

は=>はuserIdがお好き

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に実際に必要なデータが含まれていることを確認しました。

どのように私はこれを処理する必要がありますか?

おかげlocation.likeとして

答えて

0

FirebaseObjectObservableオブジェクトを返すfirebase database.objectあります。あなたが同じことを見つけることができる

<md-card-content>{{location.liked | async}}</md-card-content> 

その上にビュー上のオブジェクトの値を表示するには、 asyncパイプを使用する必要があります。これは、私がまさに必要である AngularFire Docs

+0

にここで説明。どうもありがとう。 私が使用しなければならなかったオブジェクトから実際の値を取得するには {{location.liked | async).value}} – user3642173

+0

@ user3642173 '?{location.liked | async)?. value}} ' –

+0

ありがとうPankaj - なぜ私はこれに注意する必要がありますかについて詳しく説明できますか? – user3642173

関連する問題