如何通过$index值来获取ng中的元素repeat
How to get an element within an ng-repeat by its $index value
我使用ng repeat,但如果迭代满足某些条件,我想修改迭代。我的问题是,获得应该修改的特定迭代的最佳方法是什么?
目前,我已经使用:第n个子选择器进行了操作,但我想知道是否有一种更角度的方法可以使用$index
或任何其他更角度的方式来实现这一点?
HTML代码段:
<div class="line_row" ng-repeat="x in program">
{{x.current_state}
</div>
JS代码段:
for (j = 0; j < $scope.program.length; j++) {
if ($scope.reader_location[j] == someCondition) {
// this is the line that I'm interested in replacing.
$(".line_row:nth-child("+(j+1)+")").css("background-color","red")
}
}
我认为您可以在这里根据表达式求值ng-class
,它将在该元素上放置一个类。
HTML
<div class="line_row" ng-repeat="x in program" ng-class="{red: methodCall(x)}">
{{x.current_state}}
</div>
代码
$scope.methodCall = function(x){
return x.current_state == 'something'
}
CSS
.red {
background-color: "red"
}
您可以将ng-class
与条件一起使用。如果ng-class
的表达式为true,它将添加一个CSS类,在这种情况下,我将其命名为redbackground
。
HTML
<div class="line_row" ng-repeat="x in program track by $index"
ng-class="{redbackground: $index === someCondition}">
{{x.current_state}
</div>
CSS
.redbackground { background: red; }
下面是一个如何以多种不同方式使用ng类的教程。
相关文章:
- 正在ng重复元素上添加事件
- Ng隐藏在Ng-click元素之外
- 混合元素的有角度的ng重复
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- 是否可以在第n个元素处重复启动ng
- AngularJs的ng-click$事件将子元素作为目标传递
- 他们是如何使用angular/jqLite find()方法按属性名称和值选择元素的?ng conf 2015
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 在 ng-if 编译后访问指令中的 DOM 元素
- 如何在更改时显示ng个重复元素的总和
- 隐藏元素直到加载完成(ng斗篷不是我需要的)
- 使用 ng-repeat访问 ng 表单元素/值
- 需要在量角器中找到使用ng中继器的li元素的数量
- 当在ng视图中加载新路由时,Tabbing(tabindex)针对错误的元素
- 列出每行2个元素的最佳方式是按角度重复ng
- 如何在使用Protractor测试时找到ng中继器的最后一个元素
- 如何在AnglujarJS ng中继器中选择特定元素
- angular元素在通过ng类添加类时不起作用
- ng重复向一个元素添加条件类
- AngularJS:根据其他对象预先选择ng repeat中的select元素