Angularjs 如何使用angular ng repeat将类添加到特定的表tr
在我的HTML中,我有一个表:Angularjs 如何使用angular ng repeat将类添加到特定的表tr,angularjs,ng-repeat,ng-class,Angularjs,Ng Repeat,Ng Class,在我的HTML中,我有一个表: <table> <tr ng-class="vm.status" ng-repeat="item in vm.itemsList"> <td>{{ item.name }}</td> <td> {{ item.description }} - <span ng-click="vm.disableRow()">Disable</span> &l
<table>
<tr ng-class="vm.status" ng-repeat="item in vm.itemsList">
<td>{{ item.name }}</td>
<td>
{{ item.description }} - <span ng-click="vm.disableRow()">Disable</span>
</td>
</tr>
</table>
如果重要的话,我只需要单击一次就可以应用那个“禁用”类。一旦它被禁用,我就无法更改它,因此不需要开关选项。我认为您应该使用数组来保存状态类 在控制器中:
vm.disableRow = function() {
vm.status = 'disabled';
}
vm.status = [];
vm.disableRow = function(index) {
vm.status[index] = 'disabled';
}
vm.disableRow = function(item) {
item.status = 'disabled';
}
在以下观点中:
<table>
<tr ng-class="vm.status[$index]" ng-repeat="item in vm.itemsList">
<td>{{ item.name }}</td>
<td>
{{ item.description }} - <span ng-click="vm.disableRow($index)">Disable</span>
</td>
</tr>
</table>
我认为应该使用数组来保存状态类 在控制器中:
vm.disableRow = function() {
vm.status = 'disabled';
}
vm.status = [];
vm.disableRow = function(index) {
vm.status[index] = 'disabled';
}
vm.disableRow = function(item) {
item.status = 'disabled';
}
在以下观点中:
<table>
<tr ng-class="vm.status[$index]" ng-repeat="item in vm.itemsList">
<td>{{ item.name }}</td>
<td>
{{ item.description }} - <span ng-click="vm.disableRow($index)">Disable</span>
</td>
</tr>
</table>
我将在每个项目中保存状态:
<tr ng-class="item.status" ng-repeat="item in vm.itemsList">
<td>{{ item.name }}</td>
<td>
{{ item.description }} -<span ng-click="vm.disableRow(item)">Disable</span>
</tr>
我将在每个项目中保存状态:
<tr ng-class="item.status" ng-repeat="item in vm.itemsList">
<td>{{ item.name }}</td>
<td>
{{ item.description }} -<span ng-click="vm.disableRow(item)">Disable</span>
</tr>
其实很简单。您无需在控制器中编写代码即可实现这一点。因为,您需要禁用该特定行,而不是切换它
<table>
<tr ng-repeat="item in vm.itemsList" ng-click="item.disabled = true"
ng-class="{ disabled: item.disabled }">
<td>{{ item.name }}</td>
<td>
{{ item.description }} - <span>Click the row to Disable</span>
</td>
</tr>
</table>
这是正在工作的PLUNKER:
我添加了红色css颜色,只是为了在禁用时显示更改。其实很简单。您无需在控制器中编写代码即可实现这一点。因为,您需要禁用该特定行,而不是切换它
<table>
<tr ng-repeat="item in vm.itemsList" ng-click="item.disabled = true"
ng-class="{ disabled: item.disabled }">
<td>{{ item.name }}</td>
<td>
{{ item.description }} - <span>Click the row to Disable</span>
</td>
</tr>
</table>
这是正在工作的PLUNKER:
我添加了红色css颜色,只是为了在禁用时显示更改。
var app=角度。模数app,[];
app.controllerctrl,功能$scope{
$scope.items=[
{name:Ali,description:Java},
{名称:Reza,描述:C++},
{名称:阿米尔,描述:C}
];
};
.奇怪{
颜色:红色;
}
.甚至{
颜色:蓝色;
}
{{item.name}
{{item.description}}-禁用
var app=角度。模数app,[];
app.controllerctrl,功能$scope{
$scope.items=[
{name:Ali,description:Java},
{名称:Reza,描述:C++},
{名称:阿米尔,描述:C}
];
};
.奇怪{
颜色:红色;
}
.甚至{
颜色:蓝色;
}
{{item.name}
{{item.description}}-禁用
我相信:可能的解决方案可能是重复的,但我不确定我是否理解。我相信:可能的解决方案可能是重复的,但我不确定我是否理解。如果使用任何筛选,将崩溃$索引与已筛选数组中的原始数组索引不同repeat@charlietfl说得好。我一定会记住这一点。但在这种情况下,我不需要过滤。这个项目相当简单。如果使用任何过滤,它都会崩溃$索引与已筛选数组中的原始数组索引不同repeat@charlietfl说得好。我一定会记住这一点。但在这种情况下,我不需要过滤。这个项目很简单,我投了赞成票,因为我在第一个建议的基础上实现了这个想法。出于保密原因,我不能像我正在构建的实际应用程序那样详细。这是一种更正确的方法。我也喜欢在ng click上使用直接赋值,如果这是一个简短的操作。ng click=item.status='disabled'Upvoted,因为我实际实现了这个想法以及第一个建议。出于保密原因,我不能像我正在构建的实际应用程序那样详细。这是一种更正确的方法。我也喜欢在ng click上使用直接赋值,如果这是一个简短的操作。ng单击=项。状态='已禁用'