0
我正在使用ng-repeat填充列表項並使用vTicker進一步爲它們製作動畫。我的app.js調用php返回一個對象,然後通過ng-repeat讀取它。問題是,即使在對象返回新消息之後,舊消息仍然可以在html中看到。但是,如果刷新頁面,舊值將被清除,並且只顯示最新消息。如何在不刷新頁面的情況下實現這一目標。Angularjs:從DOM中刪除舊的列表項值
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>
你爲什麼要設置'$ scope.bclist =「」;'(一個字符串),然後還將它視爲一個具有屬性的對象數組(或至少是'msg'屬性)?如果你想清除數組,你應該使用'$ scope.bclist = [];'。 – Lex
我做了以上更改,但該列表仍顯示舊值。頁面仍然需要刷新以清除舊值。 –
奇怪。當你改變支持'ng-repeat'的數組時,它應該刷新。 – Lex