使用数组范围时,ng-repeat 过滤器不起作用

ng-repeat filter not working when range of the array is used

数组 'response' 是我从我的 .php 文件中得到的

$http.get(encodedpage).success(function(response) {
      $scope.friends = response; 
}

它有一堆值,过滤器工作正常

   <input type="search" ng-model="q" /> 
     <div class="animate-repeat" ng-repeat="x in friends | filter:q as results">    
     {{x.name}} 
     </div>

当我只想显示它的一个范围时,过滤器不再起作用。 尽管一切都显示正确。

$http.get(encodedpage).success(function(response) {
   for (var i = 0; i < 3; i++) {
            $scope.friends[i] = response[i]; 
        }
 }

我放弃了为什么。

这是一个 jsfiddle 示例

http://jsfiddle.net/U3pVM/11646/

问题出在数组声明上。看起来您已将其声明为对象并尝试将元素设置到其中。

$scope.friendsReduced = [];
for (var i = 0; i < 2; i++) {
    $scope.friendsReduced[i] = $scope.friends[i];  
}

Jsfiddle 已更新,供大家参考。