【发布时间】:2019-11-18 11:09:14
【问题描述】:
我正在使用 angular7。在我的应用程序中,我显示了一个地点列表。当我将鼠标悬停在任何一个地方时,我正在调用一个 ajax 函数来将该值存储在数据库中。
但是当我将鼠标悬停在任何一个元素上时,该 ajax 函数会被多次调用。我只想调用该函数一次。
这是我的角度代码:
<div *ngFor="let place of mapData" (mouseover)="displayTagInfo($event)">
<div class="filter-name">{{place.name}}</div>
</div>
【问题讨论】:
-
添加一个对文档范围可见的变量,例如。 var doOnce = false,然后在你的函数内部 if ( doOnce == false) { return; } doOnce = true;
-
@SPlatten 我应该在哪里调用我的 ajax 函数?如果我将鼠标悬停在 ngFor 的另一个元素上,我的 ajax 函数会再次被调用吗?
-
您可以将另一个属性传递给函数或让函数查询触发它的元素的 ID,而不是创建一个 JavaScript 对象,然后用 ID 填充该对象然后测试ID 的存在并将其存在用作标志。
标签: javascript angular typescript angular7