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

时间:2015-01-03 14:42:37

标签: angularjs loops filter angularjs-ng-repeat

阵列响应'是我从.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/

1 个答案:

答案 0 :(得分:1)

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

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

Jsfiddle已更新供您参考。