如何检查和替换angular 8中的某些ngFor td文本



我想知道如何找到特定的td文本,并用新的angular文本替换所有文本。

json

myData = [
{
"type": "toyota", 
"year": "2013",
"comment": "new"
},
{
"type": "audi", 
"year": "2013",
"comment": "new"
},
{
"type": "honda", 
"year": "2019",
"comment": "new"
},
{
"type": "ford", 
"year": "2019",
"comment": "new"
}
]

component.html

<div>
<table >
<tr *ngFor="list of myData$">
<td>{{list.type}}</td>
<td>{{list.year}}</td>
<td>{{list.comment}}</td> //want to show "old" or " " instead of "new" for all cars with year "2013"
</tr>
<table>
</div>

contains((函数能在.ts文件中工作吗?

这样尝试:

工作演示

<div>
<table border="1">
<tr *ngFor="let list of myData">
<td>{{list.type}}</td>
<td>{{list.year}}</td>
<td>{{list.year < 2014 ? 'old' : list.comment}}</td> 
</tr>
</table>
</div>

您可以在interpolation:中使用ternary conditional operator

<td>{{list.year <= 2013? "old": list.comment}}</td>

使用三元条件运算符condition? value1 : valu2,如下所示。

实时演示

<div>
<table>
<tr *ngFor="list of myData$">
<td>{{list.type}}</td>
<td>{{list.year}}</td>
<td>{{list.year == 2013 ? 'old' : list.comment}}</td> // list.year <= 2013 if you wand to display 'odd' when year<=2013
</tr>
</table>
</div>

对于包含场景,您可以使用includes进行检查

{{list.year.includes("2013") ? 'old' : list.comment }}

最新更新