0
af.database.object('item').set({ name: newName });

AngularFire2 のこのメソッドを使用して、既知のノードに値を保存できます。

このように毎回ユニークなノードに保存する方法を知りたいです。

Swift には次のようなものがあります。

node.childByAutoId().setValue([key: value]);
4

2 に答える 2

1

これには単一のライナーはありません。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 });
    }
}
于 2016-08-22T14:31:43.137 に答える
0

.push を使用するつもりですか?

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

それとも、そのキーでノードを保存したいということですか? その場合は、次のようにします。

node.child('items').child(key).set(value);
于 2016-08-22T14:12:30.970 に答える