我有一个组件从Firebase中的节点提供一些信息,视图如下所示:

<ion-list>
    <ion-item-divider>Last Messages</ion-item-divider>
    <ion-item *ngFor="let message of othersMessageList | async" (click)="navigateToMessage(message)">
        <ion-avatar item-left>
                <img src="assets/img/avatar.png" alt="">
        </ion-avatar>
        <h2>{{message?.userFromProfile?.firstName}} {{message?.userFromProfile?.lastName}}</h2>
        <p>{{message?.content}}</p>

    </ion-item>
</ion-list>

othersMessageList var是一个可观察的消息,从Firebase引用消息 .

当我向Firebase节点添加元素时,它工作正常,我的意思是,它因为ngFor而添加了一个新的离子项 .

当我删除数据时,observable拒绝让最后一个元素离开变量,这意味着,尽管Firebase中的数据库节点为空,但Observable保留最后一个数据或未检测到该节点为空 .

我是否缺少从观察中移除最后一个元素的东西?我的意思是 property ?

为了暂时修复它,我必须创建一个新数组,一个新的数组可观察对象,并通过推送到数组手动处理最后一个元素 .