0

在 angularfire 2 4.xx 中,我使用 angularfire 对象 observable 在从 firebase 获取数据之前显示加载状态,如下所示。

const ref: FirebaseObjectObservale = AngularFireDatabase.object('/path');

<loading *ngIf="!ref | async"></loading>

<div *ngIf="ref | async">
 {{ ref.$value ? ref.$value : 'Content does not exist' }}
</div>

但是,在最新的 angularfire2 版本 5 中,firebaseObjectObservable 更改为 Observable,如果 firebase 中不存在数据,则不会返回任何内容,从而导致加载栏无限显示。

如果新的 observable 返回空值或 null 值,我仍然可以通过以下操作找到解决方法:

AngularFireDatabase.object('/path').subscribe(data => {
  hideLoading();
  if (!data) {
    showErrorMsg();
  }
})

但它现在不返回任何东西。

有人遇到过同样的问题并有解决办法吗?

非常感谢!

4

1 回答 1

0

此问题是由 rc2 版本 5.0.0 中的错误引起的,该错误已在 rc3 上修复。

细节可以在这里看到https://github.com/angular/angularfire2/pull/1264

于 2017-10-23T23:03:49.287 回答