Ionic3与AngularFire2进程可观察到对象数组

时间:2018-03-12 18:32:34

标签: typescript rxjs angularfire2

我在将我的返回数据从AngularFire2移动到我的代码中的数据结构时遇到了一些问题。简单地获取对象列表的基础知识对我有用,但我正在尝试将更简单的列表处理成数组。

我在Firebase中的数据(V4.10.1,AngularFire2 V5.0.0-rc.6)位于

/teams/
    ABC:Team Name A
    DEF:Team Name B

我的数据在列表中为:format。我想将此返回数据处理为typescript数组teamName['ABC'] = 'Team Name A'

我可以使用:this.AfDb.list(Location).snapshotChanges().subscribe(console.log);

获取数据并将其放在console.log()中

我在尝试处理数据时遇到问题:

private Data_:{};

constructor(AfDb:AngularFirebaseDatabase) {
    const AfData:Observable<{}> = this.AfDb.list(Location).snapshotChanges();
    AfData.subscribe(list => {
            list.forEach(OneRec => {
                this.Data_[OneRec.key] = OneRec.payload.val();
            });
        });
}

我的错误是我的Key值[OneRec.key]。 core.js:1350 ERROR TypeError: Cannot set property 'ABC' of undefined.

我尝试过使用Data_:any;也没有成功。我最近在Ionic中打开了TSLint函数,这就是我尝试输入所有变量的原因。

1 个答案:

答案 0 :(得分:0)

您尚未初始化Data_仅设置类型,因此未定义。

private Data_ = {};