Je porte mon application de jquery vers ionic. Dans jquery, j'écris du code javascript pour concaténer manuellement les balises html. Coller une partie de la même depuis le code jquery
for ( count = start - 1; count < end ; count ++ )
{
if (tranList[count].tranType == "R" )
tranType = "Redeem" ;
else
tranType = "Earn";
text += "<tr> <td>"+ tranType + "</td>" ;
Dans Ionic, j'essaie d'écrire le même code en utilisant ionic list Ci-dessous est mon modèle html
<ion-list>
<ion-item *ngFor="let tran of transactions">
<p> {{tran.pointsEarned}} </p>
</ion-item>
</ion-list>
À côté de pointsEarned, j'ai besoin d'imprimer des points qui sont échangés ou gagnés de manière similaire au code jquery. Comment puis-je y parvenir?
Une autre façon de gérer le modèle conditionnel consiste à utiliser * ngIf
si l'expression tran.tranType est 'R', alors le modèle en ligne est affiché .i.e Vous avez échangé (valeur de l'expression tran.pointsRedeemed) des points.
<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>
Je ne sais pas exactement quelle est la question, mais vous pouvez écrire une déclaration conditionnelle comme ceci:
<ion-list>
<ion-item *ngFor="let tran of transactions">
<p> {{tran.pointsEarned}} {{ tran.tranType === 'R' ? 'Redeem' : 'Earn' }}</p>
</ion-item>
</ion-list>
Il existe de nombreuses façons de le faire, mais je suppose que opérateur ternaire est le plus simple et le plus propre.
Je ne sais pas si nous sommes sur la même page, mais c'est une autre façon pour if ... else statement:
<div *ngIf = "tran.tranType == 'R'; else elsetag">
Redeem
</div>
<ng-template #elsetag>
<div>
Earn
</div>
<ng-template>