Angularjs:从DOM

时间:2016-07-31 05:41:41

标签: angularjs dom ng-repeat clear

我正在使用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>

1 个答案:

答案 0 :(得分:0)

我能够通过在函数中添加以下代码来解决问题。

    $('#tickerul li').remove();
    $('#example ul').prepend('<li></li>');

不确定这是否是一种很好的方法。 :)