我在 angularjs 中有一个应用程序,它在后台使用 $interval() 并每秒通过 PHP 从数据库中请求数据。
然后我使用 track by $index ,这确实有助于提高性能。
<tr ng-repeat="user in users track by $index">
<td>{{user.name}}</td>
</tr>
但是当数据发生变化时,我想将文本颜色更改 1 秒<td>
。
我在 angularjs 中有一个应用程序,它在后台使用 $interval() 并每秒通过 PHP 从数据库中请求数据。
然后我使用 track by $index ,这确实有助于提高性能。
<tr ng-repeat="user in users track by $index">
<td>{{user.name}}</td>
</tr>
但是当数据发生变化时,我想将文本颜色更改 1 秒<td>
。
可能你可以试试
<td ng-style="{color:#000}">{{user.name}}</td>
请记住,数据将每秒重新加载。
或者,您可以使用条件跟踪从控制器更改的数据,并根据类似条件设置变量 true 或 false
$scope.datachange = true;
那么鉴于你可以做
<td ng-style="datachange && {color:#000}">{{user.name}}</td>
我会做什么,而不是查看索引更改,而是在您希望颜色更改的地方放置一个 ng-class:
<tbody ng-class="{'changed-class': dataChanged}">
然后,在控制器中的数据更改后,将 $scope.dataChanged 的值更改为 true,然后在一秒钟后通过注入 $timeout 将其更改为 false:
$scope.dataChanged = true;
$timeout(function(){
$scope.dataChanged = false;
}, 1000);
当然,在您的 CSS 中添加更改后的类,并在更改发生时使用您希望文本的颜色。