Javascript $scope变量值在setInterval中闪烁

Javascript $scope变量值在setInterval中闪烁,javascript,angularjs,angularjs-scope,setinterval,flicker,Javascript,Angularjs,Angularjs Scope,Setinterval,Flicker,下面是我用来更新列表计数的代码, 它一开始在count上运行良好,但随着count的更改,值会发生偏移。 例如:如果计数最初是3,然后计数更新为4。count变量在3和4之间摆动 setInterval(function () { if ($scope.listing != undefined && $scope.listing != null) { $rootScope.countsData = $scope.listing.length; }

下面是我用来更新列表计数的代码, 它一开始在count上运行良好,但随着count的更改,值会发生偏移。 例如:如果计数最初是3,然后计数更新为4。count变量在3和4之间摆动

setInterval(function () {
    if ($scope.listing != undefined && $scope.listing != null) {
        $rootScope.countsData = $scope.listing.length;
    } else {
        $rootScope.countsData = 0;
    }
}, 2000);

$interval注入控制器,然后将代码更改为:

$interval(function() {
    if ($scope.listing) {
        $rootScope.countsData = $scope.listing.length;
    } else {
        $rootScope.countsData = 0;
    }
}, 2000);

格式化/缩进您的代码,它是不可读的。所以当
count
更改为4时,您仍然希望看到3?为什么?我不想看3,但它同时显示了3和4。我只想看4个。