Javascript 将AngularFire firebaseListObservable对象转换为普通对象

Javascript 将AngularFire firebaseListObservable对象转换为普通对象,javascript,datatables,firebase-realtime-database,angularfire2,Javascript,Datatables,Firebase Realtime Database,Angularfire2,我正在使用datatables(datatables.net),我想使用AngularFire2从Firebase中提取数据表的数据来获取对象 但是,这会得到一个FirebaseListObservable对象,我不确定如何将其用于datatables,我以前在datatables中使用过普通对象 有没有一种方法可以将FirebaseListObservable转换为普通对象,以便以这种方式使用 component.html <sa-datatable [optio

我正在使用datatables(datatables.net),我想使用AngularFire2从Firebase中提取数据表的数据来获取对象

但是,这会得到一个FirebaseListObservable对象,我不确定如何将其用于datatables,我以前在datatables中使用过普通对象

有没有一种方法可以将FirebaseListObservable转换为普通对象,以便以这种方式使用

component.html

<sa-datatable
            [options]="{
              data: rfis,
              columns: [
                {data: 'rfiNo'},
                {data: 'title'},
                {data: 'status'}
                ]
             }"
            filter="true" tableClass="table table-condenced table-striped table-bordered"
            paginationLength="true" tableClass="table table-striped table-bordered table-hover"
            width="100%">
            <thead>
              <tr>
                <th data-class="expand"><i
                  class="fa fa-fw fa-user text-muted hidden-md hidden-sm hidden-xs"></i>
                  Lot #
                </th>
                <th>
                  Lot Name 1
                </th>
                <th>
                  Lot Name 2
                </th>
              </tr>
            </thead>
          </sa-datatable>
provider.ts

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

@Injectable()
export class RfisData {
  rfis: FirebaseListObservable<any>;
  data: any; 

  constructor(
    af: AngularFire
  ) {

// this just to compare object types
    this.data =[
        {
          "rfiNo": "Frist RFI",
          "status": "open",
          "title": "Its a fucking RFI dude"
        }
      ];    

    this.rfis = af.database.list('/rfis');

  }

  getRfis(){
    console.log(this.rfis);
    return this.rfis;
  }

// this just to compare object types
  getData(){
    console.log(this.data);
    return this.data;
  }

}
从“@angular/core”导入{Injectable};
从“angularfire2”导入{AngularFire,FirebaseListObservable};
@可注射()
导出类RFIDATA{
RFI:可观测的火基列表;
资料:有;
建造师(
角火
) {
//这只是为了比较对象类型
这是数据=[
{
“RFIO”:“第一次RFI”,
“状态”:“打开”,
“标题”:“这是个该死的RFI家伙”
}
];    
this.rfis=af.database.list('/rfis');
}
getRfis(){
console.log(this.rfis);
返回此.rfis;
}
//这只是为了比较对象类型
getData(){
console.log(this.data);
返回此.data;
}
}
控制台日志的结果显示了对象的两个结果,一个是firebaseListObservable对象,另一个是普通的[object]

谢谢。

这对我很有用:

af.database.object('/some/ref/to/object')
    .map(val => Object.assign(new MyPlainObject(), val);
af.database.object('/some/ref/to/object')
    .map(val => Object.assign(new MyPlainObject(), val);