简体   繁体   English

如何使用AngularFire2 FirebaseObjectObservale保存或推送到observable

[英]How to save or push to observable with AngularFire2 FirebaseObjectObservale

For some reason I cannot wrap my head around the methods in angularfire2 and firebaseobjectobservables and rxjs. 出于某种原因,我无法绕过angularfire2和firebaseobjectobservables和rxjs中的方法。 I tried using $save() but I get an error about it not existing on firebaseobjectobservables. 我尝试使用$ save()但我得到一个错误,它不存在于firebaseobjectobservables上。 I also tried .push() which also brought up an error. 我也试过.push(),这也引起了一个错误。 Am I not importing something? 我没有进口东西吗?

import {AngularFire, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2';
import {Observable} from 'rxjs/Observable';

  private Room:FirebaseObjectObservable<any>;


 constructor(private af:AngularFire, private http:Http) {
  this.Room=af.database.object(`/Rooms/1`);
}

  //This is where the error pops up
 this.Room.push({name:abc,room:1}).then((item) => { console.log(item.key); });

  //Here is my other version trying to use firbase method $save() w/ the same error
  this.Room.$save(this.playerO).then(_ => console.log("Pushed"));

Try this. 尝试这个。 You have to push room item to your room list and room key will be autogenerated. 您必须将房间项目推送到房间列表,房间钥匙将自动生成。

import { AngularFire, FirebaseListObservable } from 'angularfire2';

export class Room {
   private Rooms:FirebaseListObservable<any[]>;

   constructor(private af:AngularFire) {
     this.Rooms=af.database.list('/Rooms');
     this.Rooms.push({name:'abc'}).then((room) => { console.log(room.key); });
   }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM