繁体   English   中英

Angular 7在ngFor循环内隐藏特定属性

[英]Angular 7 hide particular attribute inside ngFor loop

我正在使用一个角度为ngFor的循环7我需要在ngFor循环内隐藏一个特定的属性(例如userNo和UserType)。

emailId: "afsageg@dgvsf"
groupName: "dfsfgfdg"
mobileNo: "+91fyrtyrtyty"
userId: "ttrur"
userName: "srurttuidharan"
userNo: 2
userType: "rrhjty"
userTypeDisplay: "Operator Maker"

<tr *ngFor="let key of formData | keyvalue" >
    <td [hidden]="key.userNo">{{key.key | titlecase}}</td>
    <td>{{key.value}}</td>
</tr>
<td [hidden]="key.key==='userNo'">{{key.key | titlecase}}</td>
<td [hidden]="key.key==='userNo'">{{key.value}}</td> <!--if you also want to hide the value -->

或者,您可以使用*ngIf代替[hidden]

我还建议将key重命名为object (或什至不太通用的名称),因为*ngFor每次迭代*ngFor保存一个对象,而不仅仅是键(因此您可以访问键AND值)

所以像这样:

<tr *ngFor="let obj of formData | keyvalue" >
    <td [hidden]="obj.key==='userNo'">{{obj.key | titlecase}}</td>
    <td [hidden]="obj.key==='userNo'">{{obj.value}}</td>
</tr>

小Stackblitz来说明

emailId: "afsageg@dgvsf"
groupName: "dfsfgfdg"
mobileNo: "+91fyrtyrtyty"
userId: "ttrur"
userName: "srurttuidharan"
userNo: 2
userType: "rrhjty"
userTypeDisplay: "Operator Maker"

<tr *ngFor="let key of formData | keyvalue" >
    <td [hidden]="key.userNo === true">{{key.key | titlecase}}</td>
    <td>{{key.value}}</td>
</tr>

如果您想隐藏属性,可以执行以下操作

<td [attrib]="key.userNo?'value':null">

如果您不想显示文字,可以

<td>{{key.userNo?'':key.key | titlecase}}</td>

其他是使用style.display

<td [style.display]="key.userNo?'none':null">

的* ngIf

<td *ngIf="!key.userNo">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM