Что-то, что я заметил при кодировании в Angular Typescript - при использовании Firestore, я иногда получаю двойные записи.
Примером этого может быть
HTML
<button id="excel" disabled="disabled" class="excel" (click)="exportToExcel($event)">{{button}}</button>
<div *ngFor="let item of classes | async"
[ngClass]="{check:addItem
(item.data.Device,
item.data.Humidity,
item.data.Index,
item.data.Raw,
item.data.Resistance,
item.data.Temperature,
item.data.VDD,
item.data.VOC,
item.data.Time,
item.id)}">
</div>
.TS (Нормальный код)
json = [];
addItem
(
_Device:string,
_Humidity:string,
_Index:string,
_Raw:string,
_Resistance:string,
_Temperature:string,
_VDD:string,
_VOC:string,
_Time:string,
_ID:string,
)
{
let jsonObject = {
Device: _Device,
Humidity: _Humidity,
Index: _Index,
Raw: _Raw,
Resistance: _Resistance,
Temperature:_Temperature,
VDD:_VDD,
VOC:_VOC,
Time:_Time,
ID:_ID,
};
this.json.push(jsonObject);
}
.TS (Для l oop для предотвращения двойных записей)
json = [];
addItem
(
_Device:string,
_Humidity:string,
_Index:string,
_Raw:string,
_Resistance:string,
_Temperature:string,
_VDD:string,
_VOC:string,
_Time:string,
_ID:string,
)
{
let jsonObject = {
Device: _Device,
Humidity: _Humidity,
Index: _Index,
Raw: _Raw,
Resistance: _Resistance,
Temperature:_Temperature,
VDD:_VDD,
VOC:_VOC,
Time:_Time,
ID:_ID,
};
let Bools = false;
for (let i = 0; i < this.json.length; i++)
{
if (this.json[i].ID == _ID)
{
Bools = true;
break;
}
}
if (Bools == false)
{
this.json.push(jsonObject);
}
}
Так что мой вопрос в Angular Firestore, почему это возвращает дубликаты каждой записи? Я исправил проблему с простым для l oop, но заметил, что иногда я получаю повторяющиеся записи или даже тройные записи в моем объекте json
. Все, что вы видите в моем HTML, - это, например, все мое HTML.