我正在使用ng-repeat填充列表项,并使用vTicker进一步设置它们的动画。我的app.js调用php返回一个对象,然后通过ng-repeat读取。问题是,即使在对象返回新消息之后,旧消息仍然在html中可见。但是,如果刷新页面,则清除旧值并仅显示最新消息。如何在不刷新页面的情况下实现此目的。
App.js:
$scope.refreshbc = function ()
{
$scope.bclist = "";
$http.get(bcurl).then(function(bcresponse)
{
if(bcresponse.data.indexOf("Entry does not exist in
database") > -1)
{
$scope.bclist = "";
console.log($scope.bclist);
} else
{
$scope.bclist = bcresponse.data;
if($scope.bclist[0].msg == "No alerts.")
{
$scope.mibtn = "btn-success";
$scope.mitxtcol = "black";
} else
{
$scope.mibtn = "btn-danger";
$scope.mitxtcol = "white";
}
}
});
$ scope.refreshbc(); $ interval(function(){$ scope.refreshbc();},30000);
HTML:
<div id="example" style="margin-top:39px;color:#cccc00;font-
size:15px;">
<ul id="tickerul" style="list-style: none;">
<li ng-init="stvticker()" ng-if="bclist[0].msg !== null" ng-
repeat="bc in bclist track by $index" >{{bc.msg}}</li>
<li style=""></li>
</ul>
</div>
答案 0 :(得分:0)
我能够通过在函数中添加以下代码来解决问题。
$('#tickerul li').remove();
$('#example ul').prepend('<li></li>');
不确定这是否是一种很好的方法。 :)