我得到了以下数据数组:
$scope.domainRows = [
{ domainName: 'example1.com', domainDescription: 'example1.com desc'},
{ domainName: 'example2.com', domainDescription: 'example2.com desc'},
];
这些行在UI上显示为表格,用户单击删除row2,并且row2拥有此信息
{ domainName: 'example2.com', domainDescription: 'example2.com desc'}
无论如何,我可以使用AngularJS过滤器来获取row2的索引吗?应该有办法在AngularJS过滤器中做到这一点,但无法弄清楚。需要你的帮助。 谢谢 -k
答案 0 :(得分:0)
使用纯JavaScript。
const domainRows = [
{ domainName: 'example1.com', domainDescription: 'example1.com desc'},
{ domainName: 'example2.com', domainDescription: 'example2.com desc'}
]
let selectedRow = { domainName: 'example2.com', domainDescription: 'example2.com desc'}
for (let i = 0; i < domainRows.length; i++){
if (domainRows[i].domainName === selectedRow.domainName){
console.log(i)
}
}
该代码为原始JavaScript格式,因此可以在代码段中运行以进行演示。您需要将其转换为Angular格式才能在您的项目中使用,但这只是一些编辑。
答案 1 :(得分:0)
如果要在表中显示它,则可以简单地将this.http.get('/assets/json/fake.json', { observe: 'body' })
.subscribe(result => {
console.log(result);
});
传递给$index
指令以获取行索引,如下所示:
ng-click
如果要通过<tr ng-repeat="row in domainRows" ng-click="performAction($index)">
<td>{{ $index + 1 }}</td>
<td>{{ row.domainName }}</td>
<td>{{ row.domainDescription }}</td>
</tr>
和domainName
属性过滤表,则可以执行以下操作:
domainDescription