2016-08-22 46 views

回答

1

原來這裏沒有一個班輪。 在AngularFire2中,推送方法僅適用於FirebaseListObservables,但不適用於FirebaseObjectObservable。所以這裏有一個用於演示的小組件:

import { Component } from '@angular/core'; 
import {AngularFire, FirebaseListObservable } from 'angularfire2'; 

@Component({ 
    selector: 'auto', 
    template: ` 
    <ul> 
     <li class="text" *ngFor="let p of person | async"> 
      {{p.name}} 
     </li> 
    </ul> 
    <input type="text" #newname placeholder="Name" /> 
    <br /> 
    <button (click)="save(newname.value)">Set Name</button> 
    ` 
}) 

export class AutoComponent { 
    person: FirebaseListObservable<any>; 
    constructor(private af: AngularFire) { 
     this.person = af.database.list('person') 
    } 
    save(newName: string) { 
     this.person.push({ "name": newName }); 
    } 
} 
0

你的意思是使用.push?

node.child('items').push({ key: value }) 

還是你的意思是你想用這個鍵保存一個節點?如果是這樣的話,請執行以下操作:

node.child('items').child(key).set(value); 
+0

這就是我們如何使用Firebase客戶端保存Javascript。我想知道如何使用angularfire2專門保存! :)和你的第一個代碼是如何存儲數據。在具有自動生成的ID的節點上。 –

+0

您是否仍然可以在角度2中使用firebase.database()。ref()?我的建議不涉及angularfire2。 –

+0

我不確定!由於我使用的是TypeScript,因此不知道如何在TypeScript中使用javascript庫的typeDefinitions。如果你能告訴我,那會很棒。 –

相關問題