使用数组范围时,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 示例
问题出在数组声明上。看起来您已将其声明为对象并尝试将元素设置到其中。
$scope.friendsReduced = [];
for (var i = 0; i < 2; i++) {
$scope.friendsReduced[i] = $scope.friends[i];
}
Jsfiddle 已更新,供大家参考。
数组 '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 示例
问题出在数组声明上。看起来您已将其声明为对象并尝试将元素设置到其中。
$scope.friendsReduced = [];
for (var i = 0; i < 2; i++) {
$scope.friendsReduced[i] = $scope.friends[i];
}
Jsfiddle 已更新,供大家参考。