Javascript NG Repeat生成包含动态类的列表
我试图将与第一个循环的索引匹配的任何项打印为li 例如:第一个循环将li分类为cat1_li,第二个循环将li分类为cat2_li,第三个循环将li分类为cat3_li 但是,我能得到的最接近的结果会在单独的列表中打印出来。 在其他ng重复中使用ng重复时,我真的很难找到问题所在。我能理解它为什么要打印多个列表,但不能理解如何纠正这种行为 有人愿意看一看吗 HTML:Javascript NG Repeat生成包含动态类的列表,javascript,angularjs,loops,Javascript,Angularjs,Loops,我试图将与第一个循环的索引匹配的任何项打印为li 例如:第一个循环将li分类为cat1_li,第二个循环将li分类为cat2_li,第三个循环将li分类为cat3_li 但是,我能得到的最接近的结果会在单独的列表中打印出来。 在其他ng重复中使用ng重复时,我真的很难找到问题所在。我能理解它为什么要打印多个列表,但不能理解如何纠正这种行为 有人愿意看一看吗 HTML: 如果要在嵌套的ng repeat中使用类别索引,可以使用$parent.$index: var-app=angular.mod
如果要在嵌套的
ng repeat
中使用类别索引,可以使用$parent.$index
:
var-app=angular.module('app',[]);
app.controller('MainController',['$scope',
职能($范围){
$scope.taskCategories={
类别:[
“工作”,
“家务活”,
"学习",,
“提升”
]
};
$scope.tasklist={
任务:[{
标题:“电子邮件格雷戈里”,
类别:“工作”
}, {
标题:“清洁厨房”,
类别:“家务”
}, {
标题:“AngularJS”,
类别:“学习”
}, {
标题:“软管车”,
类别:“家务”
}, {
标题:“电子邮件Jethro”,
类别:“工作”
}, {
标题:“400磅”,
类别:“起重”
}]
};
}
]);代码>
.cat1\u li{
背景颜色:黄色;
}
李国章议员{
背景色:青色;
}
李国章议员{
背景颜色:粉红色;
}
李国章议员{
背景色:石灰;
}
{{cat}}
-
每个ng repeat
使用传递的数据创建一个子作用域,并在该作用域中添加一个额外的$index
变量
因此,您需要做的是到达父范围,并使用该$index
HTML:
<li ng-repeat="tasks in tasklist.tasks | orderBy:'category' | filter: {category: cat}" class="cat{{ $parent.$index + 1 }}_li">
呈现的html是什么,期望的是什么?任务应该是cat的子任务吗?你的对象结构是什么样子的?呈现的HTML可以在这里找到:我希望它呈现的方式可以在这里找到:基本上,我希望所有“工作”类别(或第一个类别)的内容都以“cat1_li”等类结束,并且它们都在同一个无序列表中。这很好,我根本不知道$parent的事,谢谢!你知道我怎样才能把这些循环放到同一个列表中吗?比如:jsfiddle.net/3f2anqva
app.controller('MainController', ['$scope', function($scope) {
$scope.taskCategories = {
categories: [
'work',
'chores',
'learning',
'lifting'
]
};
$scope.tasklist = {
tasks: [{
title: 'Email Gregory',
category: 'work'
}, {
title: 'Clean the Kitchen',
category: 'chores'
}, {
title: 'AngularJS',
category: 'learning'
}, {
title: 'Hose Car',
category: 'chores'
}, {
title: 'Email Jethro',
category: 'work'
}, {
title: '400 lbs',
category: 'lifting'
}
]
};
}]);
<li ng-repeat="tasks in tasklist.tasks | orderBy:'category' | filter: {category: cat}" class="cat{{ $parent.$index + 1 }}_li">