使用Firebase 5.0进行Angular 2+ CRUD操作

时间:2018-01-31 02:15:50

标签: angular firebase-realtime-database angular2-services angularfire5

我需要你的帮助。我已经意识到firebase 5.0操作与以前的版本https://github.com/angular/angularfire2/blob/master/docs/version-5-upgrade.md不同。请帮助我使用角度服务,该服务基本上使用此接口在firebase实时数据库上执行CRUD

//Person.ts
interface Person{
    $id :string;
    name: string;
    age: string;
    gender: string;
}

1 个答案:

答案 0 :(得分:1)

`

//providers/person.ts
import { Injectable } from '@angular/core';
import {AngularFireDatabase} from 'angularfire2/database';
import {Person} from './Person.ts';

@Injectable()
export class PersonProvider {

  private personListRef = this.db.list<Person>('persons');

  constructor(private db: AngularFireDatabase) {}

  /**
   * Creates Person
   */
  createPerson(person: Person) {
    return this.personListRef.push(person);
  }

  /**
   * Reads Persons
   */
  getPersons() {
    return this.personListRef;
  }

  /**
   * Updates Person
   */
  updatePerson(person: Person) {
    return this.personListRef.update(person.key, person);
  }

  /**
   * Deletes Person
   */
  deletePerson(person: Person) {
    return this.personListRef.remove(person.key);
  }
}

`

根据所使用的AngularFire2的版本(已通过5.0.0-rc.11测试),可能需要安装rxjs @ 6。

npm install rxjs@6 rxjs-compat@6 --save