私はイオンアプリを持っており、FirebaseListObservableが削除された新しいanglefire2バージョン5にアップデートしました。Ionicv2 Angularfire2 v5私はプッシュで新しいアイテムを作成できません
今、私はこのような初期化:私は新しいアイテムを作成するために、イオン性Actionsheetハンドラを持っていただけに、それをプッシュする前に、私は唯一の
items: FirebaseListObservable<any>;
をしたFirebaseListObservableの除去の前に
items: Observable<any>;
constructor(public navCtrl: NavController, public alertCtrl: AlertController, af: AngularFireDatabase, public actionSheetCtrl: ActionSheetController) {
this.items = af.list('/items').valueChanges();
}
データベースのノード:
addItem(){
let prompt = this.alertCtrl.create({
title: 'Name',
message: "",
inputs: [
{
name: 'title',
placeholder: 'Name'
},
],
buttons: [
{
text: 'Cancel',
handler: data => {
}
},
{
text: 'Save',
handler: data => {
this.items.push({
title: data.title
});
}
}
]
});
prompt.present();}
しかし、 "this.items.push({" funcもう動作しません。新しいアイテムをデータベースに再度プッシュするにはどうすればいいですか?
FirebaseListObservableを使用する前は問題ありませんでした。 私は今すぐエラーメッセージを受け取ります: _this.items.pushは機能ではありません
しかし、どういうわけか私はそれのための置き換えを見つけることはありません。
fyi:私は観察と反応であまり良くありません。ですから問題がある場合は詳細にお知らせください。
ありがとうございました!また、リスト内の1つの項目のキーを取得する方法も知っていますか? 1つのアイテムを削除する必要があります。現在、データベース内の/ itemsノードを含むリスト全体が常に削除されます。上記のガイドでは、remove関数に渡されたキーがないため、リスト全体が削除されています。私はremoveItem(itemId:string){ this.itemsRef.remove(itemId);を使用します。 } – Klaxx
https://github.com/angular/angularfire2/blob/master/docs/rtdb/lists.md#deleting-the-entire-listこのガイドをもう一度確認してください。 'this.items = this.itemsRef.snapshotChanges()。map(変更点=> { return changes.map(c =>({key:c.payload.key、... c.payload.val() }); }); **** app **はfirebaseリアルタイムデータベースの 'crud operations'を示しています。 – sdey0081