卡在按值/子键删除父推送键
我想按值/子键删除父按键:
I want to delete a parent pushed key by value/childkey:
export class FaqsPage {
qS: Observable<any[]>;
ques = '';
ans = '';
constructor(private db: AngularFireDatabase) {}
ionViewDidLoad() { this.qS = this.db.list('table/faq').valueChanges(); }
removeItem(id){this.db.list('table/faq').remove(id);}
removeItem() 删除所有按键.难怪,因为我无法获得父密钥
removeItem() deleting the whole all pushed keys. No wonder because i couldn't get the parent key
//faq.html
<ion-list>
<ion-item-sliding *ngFor="let el of qS | async">
<ion-item>
<b>{{ el.Q }}</b><br>{{ el.A }}
</ion-item>
<ion-item-options side="right">
<button ion-button color="red" icon-only (click)="removeItem(el.key)"><ion-icon name="trash"></ion-icon></button>
</ion-item-options>
</ion-item-sliding>
</ion-list>
由于 valueChanges()
el.key doesn't get the the key (e.g. Kzwv8d_i-0QZuf2NT8Z) because of valueChanges() and i have no idea how to do it within current iteration.
推荐答案
希望你用的是angularfire2
I hope you are using angularfire2
this.qS = this.db.list('table/faq').snapshotChanges().map(changes => {
return changes.map(c => ({ key: c.payload.key, ...c.payload.val() }));
});
这将返回带有键的 qS
相关文章