所以,我正在使用firebase来存储我的数据,所以我们有一个实时数据库;
我正在设置这样的课程:
[ngClass]="isReserved(slot) ? 'reserved-slot': 'free-slot'"
检查数组是否存在,该数组是否在构造中填充,并使用subscribe。
如果我点击某个项目,数据会正在更新,但如果我进入firebase并手动删除了一个插槽,则该类不会更改。
isReserved(dateTimeBusinessID) {
if(typeof this.reservedSlots[dateTimeBusinessID] === "undefined" ) return false;
return true;
}
这就是我在构造
上填充数组的方法private getReservedSlots() {
this.firebase.database.list('/reservations', { query: { orderByChild: 'DateBusinessID', equalTo: this.formattedDateBusinessID } })
.subscribe((data) => {
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
var keyArray = data[i].time;
this.reservedSlots[keyArray] = { 'class': 'false' }
}
console.log('changed detected');
}
});
}
当我从firebase手动删除数据时,事情就是“检测到已更改”,所以我猜我在html中做错了什么;