Просто проверьте позицию в массиве строки, для которой вы хотите отобразить значение, после применения идентификатора строки.Вы можете сделать это с помощью простого if.
HTML: используйте i для let i = index
*ngif(check(i))
TS: просто проверьте, равен ли row.id строке, которую вы хотитеиспользовать
check(i){
if(i == 4) {
return true;
}
return false;
Здесь код
HTML:
<table>
<tr *ngFor="let item of data; let i=index; let display = false;" (click)="display = true;">
<td>{{i+1}}</td>
<td>{{item.href}}
<tr>
<p *ngIf="check(i)">here i am</p>
<div class="card" *ngIf="item.msgFound && display">
<div class="card-body">
{{item.msgFound}}
</div>
</div>
</tr>
</td>
</tr>
</table>
TS:
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
data = [
{href: "adsfasdfasdf", msgFound: "asdfasdfasdf"},
{href: "asdfasdf", msgFound: "asdfasdf"},
{href: "adsfasdfazxcvzxcvsdf", msgFound: "zxcvzxcv"},
{href: "adsfasdfaszxcvzxdf", msgFound: "asdfaszxcvzxcvdfasdf"},
{href: "adfdhdfghsfasdfasdf", msgFound: "asdfasdfadhgfhsdf"},
];
check(i){
if(i === 3) {
return true;
}
return false;
}
}