如何使用 Angularfire2 在 Firebase 中使用 autoid 创建子对象?
How to create child with autoid in Firebase with Angularfire2?
af.database.object('item').set({ name: newName });
我可以在 AngularFire2 中使用此方法在已知节点中保存值。
我想知道如何每次都保存在一个唯一的节点中。
在Swift中有这样的东西:
node.childByAutoId().setValue([key: value]);
您的意思是使用 .push 吗?
node.child('items').push({ key: value })
或者你的意思是你想用那个键保存一个节点?如果是这样,那么这样做:
node.child('items').child(key).set(value);
事实证明,没有一个班轮可以做到这一点。
在 AngularFire2 中,push 方法仅适用于 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 });
}
}
af.database.object('item').set({ name: newName });
我可以在 AngularFire2 中使用此方法在已知节点中保存值。
我想知道如何每次都保存在一个唯一的节点中。
在Swift中有这样的东西:
node.childByAutoId().setValue([key: value]);
您的意思是使用 .push 吗?
node.child('items').push({ key: value })
或者你的意思是你想用那个键保存一个节点?如果是这样,那么这样做:
node.child('items').child(key).set(value);
事实证明,没有一个班轮可以做到这一点。 在 AngularFire2 中,push 方法仅适用于 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 });
}
}