【发布时间】:2018-02-28 00:18:02
【问题描述】:
我在 ng-repeat 中有 <li>list 并且此列表每秒更新一次。在列表中,我几乎没有带有 ng-click 指令的字段和操作按钮。因此,当列表<li> 中的数据更新时,每一秒都会再次渲染列表,此时 ng-click 没有触发,可能是因为在这个特定的小时刻,单击未绑定到按钮。
这是一小段代码。
<ul class="items-list">
<li ng-repeat="item in items | orderBy: ['id', 'date']">
<div>{{ item.id }}</div>
<div>{{ item.size }}</div>
<div>{{ item.date }}</div>
<div ng-click="deleteEntry($event)"><img src="delete.png"></div>
</li>
</ul>
控制器:
$scope.deleteEntry = function(event) {
console.log("delete"); // sometimes this does not log
}
$interval(function() {
$scope.items = someService.getItems();
}, 1000, 0, true);
数据正在正确更改,但在此渲染时间内没有触发点击。
【问题讨论】:
-
奇怪的场景。如果列表每秒都在更新,用户应该如何单击此按钮。它会停止吗?
-
它不会停止更新,并且按钮始终可见且可点击。
-
如果您认为 $interval 会影响点击。你为什么不把间隔去掉,你就会知道那个问题的答案......
-
但是我必须每秒刷新一次数据。
标签: angularjs angularjs-ng-repeat