我使用ng-repeat并使用我的过滤集合设置$ scope变量
<tr ng-repeat="r in filteredData = (data | filter: {Number: num} | filter: eFilter)">
在我的控制器中:
$scope.num = undefined;
console.log($scope.filteredData.length); //returns 10
$scope.num = 2
console.log($scope.filteredData.length); //expecting 5
$scope.num = undefined;
console.log($scope.filteredData.length); //expecting 10, however, it actually returns 5.
如果我对其施加超时,例如下面,我得到预期的10.我宁愿不使用超时 - 我确定有一些我可以调用的角度函数,也许是强制消化循环的函数?希望有人可以解释如何正确等待$ scope.filteredData更新以反映过滤器更改。
setTimeout(function () { console.log($scope.filteredData.length); }, 1); // returns 10