如果预订的人过去取消了订单,我试图在表格中显示一个标志图标。
当管理员将预订状态更改为已取消时,会设置一个“已取消”状态'对于在firebase中进行预订的用户,boolean为true。
在我的HTML表格中我使用* ngIF运行一个函数,如果函数返回true则显示图标,将订单键作为参数传递给函数。
<td><i *ngIf="hasUserCanceled(order.$key)" class="fa fa-flag"></i></td>
这是函数本身:
hasUserCanceled(key) {
//Get the userId from the order
this.order = this.af.object('/orders/' + key);
this.order.subscribe(res => {
this.userId = res.userId;
});
this.canceledUsers = this.af.object('/users/' + this.userId);
this.canceledUsers.subscribe((res) => {
this.hasCanceled = res.hasCanceled
});
if (this.hasCanceled == true) {
console.log('THIS IS TRUE')
return true
}
}
我可以在已取消的用户的正确位置看到该标志,因此功能目的正在起作用,但问题是在控制台中,该功能一遍又一遍地运行而不是停止。有什么迹象表明我做错了吗?