Firebase AngularFire2检索对象数据不起作用,但列表数据起作用

Firebase AngularFire2检索对象数据不起作用,但列表数据起作用,firebase,firebase-realtime-database,angularfire2,typescript2.0,Firebase,Firebase Realtime Database,Angularfire2,Typescript2.0,我正在尝试使用Typescript中的AngularFire2从Firebase读取数据。我的代码在检索数据列表时使用异步管道,但在获取对象时,我无法访问内容 Firebase上的数据结构:(myapp.firebaseio.com/LeagueStandings) 代码子集: import { Component } from '@angular/core'; import { AngularFireDatabase, FirebaseObjectObservable } from 'ang

我正在尝试使用Typescript中的AngularFire2从Firebase读取数据。我的代码在检索数据列表时使用异步管道,但在获取对象时,我无法访问内容

Firebase上的数据结构:(myapp.firebaseio.com/LeagueStandings)

代码子集:

import { Component } from '@angular/core';
import { AngularFireDatabase, FirebaseObjectObservable } from 'angularfire2/database';

Standings: FirebaseObjectObservable<any[]>;
constructor(public FirebaseData:AngularFireDatabase) {
    this.Standings = FirebaseData.object('/LeagueStandings');
    // Added the following to see the debug
    this.Standings.subscribe(data => { 
        console.log(data); 
    });
}
从'@angular/core'导入{Component};
从“angularfire2/database”导入{AngularFireDatabase,FirebaseObjectObservable};
排名:FirebaseObjectObservable

显然,仔细阅读会解决问题。我注意到文档是如何显示数据的,并将代码更改为匹配的,这样就可以工作了。HTML是我所要更改的全部内容

import { Component } from '@angular/core';
import { AngularFireDatabase, FirebaseObjectObservable } from 'angularfire2/database';

Standings: FirebaseObjectObservable<any[]>;
constructor(public FirebaseData:AngularFireDatabase) {
    this.Standings = FirebaseData.object('/LeagueStandings');
}
从'@angular/core'导入{Component};
从“angularfire2/database”导入{AngularFireDatabase,FirebaseObjectObservable};
排名:FirebaseObjectObservable;
构造函数(公共FirebaseData:AngularFireDatabase){
this.Standings=FirebaseData.object('/LeagueStandings');
}
HTML示例位:

<ion-col><ion-badge color="secondary">{{Standings.Wins | async }}</ion-badge></ion-col>
<ion-col><ion-badge color="secondary">{{Standings.Wins | async }}</ion-badge></ion-col>
{{Standings.Wins | async}
更改:

<ion-col><ion-badge color="secondary">{{ (Standings | async)?.Wins }}</ion-badge></ion-col>
{{(排名|异步)?.Wins}
(排名不同步)?Wins是正确的。使用异步管道等待对象,然后是可选字段(?),然后是字段(.Wins)。

显然,仔细阅读将解决问题。我注意到文档是如何显示数据的,并将代码更改为匹配的,这样就可以工作了。HTML是我所要更改的全部内容

import { Component } from '@angular/core';
import { AngularFireDatabase, FirebaseObjectObservable } from 'angularfire2/database';

Standings: FirebaseObjectObservable<any[]>;
constructor(public FirebaseData:AngularFireDatabase) {
    this.Standings = FirebaseData.object('/LeagueStandings');
}
从'@angular/core'导入{Component};
从“angularfire2/database”导入{AngularFireDatabase,FirebaseObjectObservable};
排名:FirebaseObjectObservable;
构造函数(公共FirebaseData:AngularFireDatabase){
this.Standings=FirebaseData.object('/LeagueStandings');
}
HTML示例位:

<ion-col><ion-badge color="secondary">{{Standings.Wins | async }}</ion-badge></ion-col>
<ion-col><ion-badge color="secondary">{{Standings.Wins | async }}</ion-badge></ion-col>
{{Standings.Wins | async}
更改:

<ion-col><ion-badge color="secondary">{{ (Standings | async)?.Wins }}</ion-badge></ion-col>
{{(排名|异步)?.Wins}

(排名不同步)?Wins是正确的。使用异步管道等待对象,然后是可选字段(?)和字段(.Wins)。

您在哪里设置
LeagueInfo
?抱歉,这是从编辑代码复制到小样本的错误。我已经更新了HTML,因为它应该引用排行榜。我还在调查它,但是你有没有尝试过其他语法?就像“排名[‘赢’]”一样?(长镜头…:))尝试了,但没有额外的运气。你在哪里设置
LeagueInfo
?对不起,这是从编辑代码复制到小样本的打字错误。我已经更新了HTML,因为它应该引用排行榜。我还在调查它,但是你有没有尝试过其他语法?就像“排名[‘赢’]”一样?(远射…:)尝试了,但没有带来额外的运气。