限制嵌套的Angular ng重复数据结构
Limiting nested Angular ng-repeat data structure
我正试图用嵌套的数据结构做一个"无限滚动"页面,该数据结构有4个级别,通过ng重复显示如下内容:
类别1-项目-分项1-活动A-活动B-活动C-分项2-活动D类别2
我已经能够通过我范围内的以下函数获得给定项目的准确索引,但我不知道如何将其应用于各种ng重复的过滤器,以切断上面列表中的第五个项目(活动B)。
$scope.itemIndex = function(item) {
var count = 0;
if($scope.training[0] && $scope.training[0].Assigned.length > 0) {
count++;
if(item === $scope.training[0].Assigned) {
return count;
}
for (var n = 0; n < $scope.training[0].Assigned.length; n++) {
count++;
if(item === $scope.training[0].Assigned[n]) {
return count;
}
for (var r = 0; r < $scope.training[0].Assigned[n].requirements.length; r++) {
count++;
if(item === $scope.training[0].Assigned[n].requirements[r]) {
return count;
}
for(var a = 0; a < $scope.training[0].Assigned[n].requirements[r].activities.length; a++) {
count ++;
if(item === $scope.training[0].Assigned[n].requirements[r].activities[a]) {
return count;
}
}
}
}
}
}
我尝试过在作用域中使用全局计数器和通过子级传递$index的各种组合,但一直无法找到有效的解决方案。在我可以动态更改计数的情况下,用一个总计数来限制嵌套重复的最佳方法是什么?
您是否尝试过使用ng-if将每个列表的ng重复限制在其可接受的范围内。
在你说你得到的索引上使用ng if。
检查https://docs.angularjs.org/api/ng/directive/ngIf了解更多关于使用ng-if指令的信息
希望这能帮助
在迭代所有项目时,可以跟踪每个集合的限制,然后在limitTo
中为每个ng-repeat
使用这些值。例如:
var MAX_ITEMS = 10;
$scope.updateLimits = function() {
var count = 0;
$scope.training[0].limit = 0;
for (var n = 0; n < $scope.training[0].Assigned.length; n++) {
if (count < MAX_ITEMS) {
$scope.training[0].limit++;
}
count++;
$scope.training[0].Assigned[n].limit = 0;
for (var r = 0; r < $scope.training[0].Assigned[n].requirements.length; r++) {
if (count < MAX_ITEMS) {
$scope.training[0].Assigned[n].limit++;
}
count++;
$scope.training[0].Assigned[n].requirements[r].limit = 0;
for (var a = 0; a < $scope.training[0].Assigned[n].requirements[r].activities.length; a++) {
if (count < MAX_ITEMS) {
$scope.training[0].Assigned[n].requirements[r].limit++;
}
count++;
}
}
}
};
我最终使用了上面aarosil的建议,其中我有一个原始数据集的副本,它只包含我想要显示的数据的子集,这消除了在ng重复中限制的需要。
相关文章:
- JS库支持各种数据结构?(如爪哇的番石榴)
- JavaScript数据结构
- Node JS,传统的数据结构?(如Set等),任何类似Java.util的node
- 更正扁平数据模型和noSQL数据结构
- 用于筛选无模式集合的最快数据结构
- 将数据结构转换为二进制数据
- JavaScript 设置具有对数搜索时间的数据结构
- 更好的数据结构来处理这个数组
- Firebase 数据结构理念
- 基于其他数据结构更新 AngularJS 中的数据结构
- JavaScript - JSON 数据结构的构建 - 如何使用变量值更改键名
- 如何处理在javascript中访问数据结构的两个回调
- 文字与原型对象表示法的数据结构
- 表示可用产品的所有组合的数据结构
- Immutable.js:表示2D游戏场的数据结构
- 使用$watch更新数据,ng重复不反映更改
- javascript和python返回的相同数据结构在d3.js中表现不同
- 无法识别的数据结构-转换为对象
- 限制嵌套的Angular ng重复数据结构
- 什么'最合适的数据结构是什么?(使用一个有间隙的数组是否存在缺点或注意事项?)