Я пытаюсь понять, что происходит в моей программе, и я действительно не понимаю. Прежде чем перейти к проблеме, для целей этого вопроса я упростил код и провел несколько тестов, чтобы убедиться, что локализовал проблему. Итак, в моем файле component.html
есть фрагмент кода:
<div *ngFor="let item of entityDetails | keyvalue">
<div *ngIf="hasConflict(item.key)">text</div>
</div>
Как вы можете видеть, я использую *ngFor
вместе с Angular KeyVauePipe
, а внутри я проверяю условие с помощью *ngIf
. Entity Details
- это json, который я получаю через http
запрос, используя Promise
, и выглядит он так:
{rcn: "1912330", имя: "Барселонский суперкомпьютерный центр", vatNumber:"ESS090000099D", категория: "Исследовательская организация", категория Код: "REC"}
В component.ts
, объявление:
public entityDetails: string[] = new Array();
и получение данных:
this.service.getEntityDetails().then(data => {
this.entityDetails = data;
});
В методе hasConflict
все, что я делаю, это распечатка:
hasConflict(item): Boolean {
let check: boolean = false;
console.log("test");
return check;
}
Когда я запускаю ее и открываю консоль, я уже вижу кучу распечаток:

но затем, когда я нажимаю в любом месте веб-сайта или использую прокрутку, они усиливаются после одного щелчка мыши:

послебыстрая прокрутка:

Любая помощь будет оценена.