2017-09-22 20 views
0

Firebase内の子の値を更新しようとしています。Firebase - 子の値を取得する

これはHTMLです:

<ion-item-group> 
    <ion-item-divider color="light">We Need</ion-item-divider> 
    <ion-item *ngFor="let list of lists" (click)="unlist()">{{list?.foodname}}</ion-item> 
    </ion-item-group> 

配列は、ここでTSで宣言された:

export class HomePage implements OnInit { 

    foods; 
    lists; 
    startAt = new Subject() 
    endAt = new Subject() 

TS内の関数は次のとおりです。

unlist() { 
    firebase.database().ref('foods').child() 
      .update({ state: "unlisted" }); 
    } 

これはの構造であり、私のデータベース:

{ 
    "foods" : { 
    "foodID1" : { 
     "category" : "Produce", 
     "foodname" : "Apples", 
     "state" : "listed" 
    }, 
    "foodID2" : { 
     "category" : "Dairy", 
     "foodname" : "Cheese", 
     "state" : "listed" 
    }, 
    "foodID3" : { 
     "foodname" : "Eggs", 
     "state" : "unlisted" 
    }, 
    "foodID4" : { 
     "category" : "Dairy", 
     "foodname" : "Milk", 
     "state" : "unlisted" 
    }, 
    "foodID5" : { 
     "category" : "Produce", 
     "foodname" : "Onions", 
     "state" : "unlisted" 
    } 
    } 
} 

現在、この機能を実行すると、既存の状態を変更するのではなく、「食品」に「状態」の子が追加されます。

「FoodID1」、「FoodID2」などを手動で入力せずに子供の価値を得るにはどうすればよいですか?

+0

。 – cfoster5

+0

更新する食べ物の状態は? –

答えて

0

私は(click)="unlist(list)"にonClickイベントを変更しての機能を変更することで問題を解決することができた:ポストが更新されました@FrankvanPuffelen

unlist(list) { 
    firebase.database().ref('foods').child(list.$key) 
      .update({ state: "unlisted" });} 
関連する問題