2017-08-10 40 views
0

如何從添加ng-repeat數組的時候刪除ng-repeat數組中的值。如何從特定的超時中刪除ng-repeat中的每個元素

$timeout(function() { 
    $scope.datas.splice($scope.datas[$scope.datas.length - 1]) // just something 
}, 4000); 

我需要的是。
如果我將一個元素添加到該數組中,則只有在指定的超時後才必須刪除該元素。而不是最後添加的元素。所以每個元素都會有自己的超時時間

這裏有一些幫忙。 https://plnkr.co/edit/5TtcwRqiXGeAOddn5wPF?p=preview

我不知道如何做到這一點。需要一點幫助。

謝謝。

+0

你是什麼意思?您正在使用push()添加元素,這將添加到最後。如果存在4秒的超時,那麼您要刪除哪個元素,然後 –

+0

。 4秒前添加的項目應該被刪除@DeveshSati –

+0

您提問的方式需要爲每個添加的項目添加一個時間戳,然後基於時間差異您需要刪除元素 – Manish

回答

1

您可以在您的addValue函數中使用超時。這裏面超時你所添加的元素的索引,你刪除它是這樣的:

$scope.addValue = function() { 
    var element = $scope.datas[$scope.datas.length - 1] + 1; 
    $scope.datas.push(element); 
    $timeout(function(){ 
     var index = $scope.datas.indexOf(element); 
     $scope.datas.splice(index, 1) 
    }, 2000); 
}; 

Here是工作plunker

+0

中的計時器,因此爲每個添加到數組的元素都設置了超時設置。 –

+0

是的,新元素添加後,超時已開始,並在其結束時,該元素被刪除 – JeanJacques

+0

不總是工作。嘗試同時添加10個或更多元素。只有少數元素被刪除 –

相關問題