angularfire2 5.0.0-rc.2 不再 return 空值

angularfire2 5.0.0-rc.2 does not return empty value any more

在 angularfire 2 4.x.x 中,我使用 angularfire object 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中,它不会return任何东西,这会导致加载栏无限显示。

如果新的 observable return 为空值或 null 值,我仍然可以通过执行以下操作来解决问题:

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

但现在 return 什么都没有了。

有谁遇到过同样的问题,有什么解决办法吗?

非常感谢!

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

详情可以看这里https://github.com/angular/angularfire2/pull/1264