我正在将我的应用程序从jquery移植到ion框架。在jquery中,我正在编写javascript代码来手动连接html标签。从jquery代码粘贴一部分相同的内容
for ( count = start - 1; count < end ; count ++ )
{
if (tranList[count].tranType == "R" )
tranType = "Redeem" ;
else
tranType = "Earn";
text += "<tr> <td>"+ tranType + "</td>" ;
在 Ionic 中,我正在尝试使用 ionic 列表编写相同的代码下面是我的 html 模板
<ion-list>
<ion-item *ngFor="let tran of transactions">
<p> {{tran.pointsEarned}} </p>
</ion-item>
</ion-list>
在积分旁边,我需要打印积分兑换或赚取类似于jquery的代码。我该如何实现这一点?
处理条件模板的另一种方法是使用 *ngIf
如果表达式 tran.tranType 是 'R' ,则显示内联模板 .即您已兑换(表达式 tran.pointsRedeemed( 积分。
<ion-content>
<ion-list>
<ion-item *ngFor="let tran of transactions">
<p *ngIf=" tran.tranType == 'R'" > You have redeemed {{tran.pointsRedeemed}} points. </p>
<p *ngIf=" tran.tranType == 'E'" > You have earned {{tran.pointsEarned}} points. </p>
</ion-item>
</ion-list>
</ion-content>
</ion-content>
我不确定到底是什么问题,但你可以写一个这样的条件语句:
<ion-list>
<ion-item *ngFor="let tran of transactions">
<p> {{tran.pointsEarned}} {{ tran.tranType === 'R' ? 'Redeem' : 'Earn' }}</p>
</ion-item>
</ion-list>
有很多方法可以做到这一点,但我想三元运算符是最简单、最干净的一个。
我不确定我们是否在同一页面上,但这是另一种方式,如果...否则声明:
<div *ngIf = "tran.tranType == 'R'; else elsetag">
Redeem
</div>
<ng-template #elsetag>
<div>
Earn
</div>
<ng-template>