如何设置新火基插入的 ID


import { Injectable } from '@angular/core';
import { AngularFire, FirebaseListObservable } from 'angularfire2';
/*
  Generated class for the FirebaseService provider.
  See https://angular.io/docs/ts/latest/guide/dependency-injection.html
  for more info on providers and Angular 2 DI.
*/
@Injectable()
export class FirebaseService {
  users:FirebaseListObservable<any>;
  constructor(public angularFire: AngularFire,) {
    console.log('Hello FirebaseService Provider');
    this.users=this.angularFire.database.list('users');
}
  saveuser(user){
    this.users.push(user);
  }
}

嗨,在此代码中,我正在尝试将新用户添加到用户表下的Firebase表中,问题是我找不到设置的方法,我只能推送是我做错了什么吗?感谢您的帮助

AngularFire2不会公开列表可观察量的set。您应该改用update

当您查看可观察的对象时,这是有道理的,这确实会暴露set。在可观察对象上调用set时,数据库对象的全部内容将替换为指定的值。

通常,您永远不会想要替换整个列表,因此不公开set是有意义的。update是合适的,因为您正在更新列表以添加新用户。

this.users.update(user.id /* or whatever is to be the key */, user);

或者,您可以使用列表可观察量的 SDK 引用来调用set

this.users.$ref.ref.child(user.id /* or whatever is to be the key */).set(user);

请尝试以下作为示例案例,其中:

list.$add({ foo: "bar" }(.then(...(;

此示例取自 AngularFire 文档。

相关内容

  • 没有找到相关文章

最新更新