我想在单击按钮时更改按钮颜色。
我正在创建测验应用程序。
单击按钮时,如果答案正确,则应将颜色更改为绿色,如果错误,则应将其更改为红色。
这是可行的。我已经做到了。
但是现在的问题是,如果答案有误,则其颜色将变为红色,而正确答案按钮的颜色将变为绿色。
如何执行此操作?
play-quiz.html
<ion-list>
<ion-row class="marginTop">
<ion-col class="border ion-text-center">
Grand Central Terminal, Park Avenue, New York is the world's
</ion-col>
</ion-row>
<ion-row class="marginTop">
<ion-col class="ion-text-center">
<ion-button id="1" #first class="btn" expand="block" (click)="onClick(first,'1')">
Largest Railway Station
</ion-button>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="ion-text-center">
<ion-button id="2" #second class="btn" expand="block" (click)="onClick(second,'2')">
highest railway station
</ion-button>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="ion-text-center">
<ion-button id="3" #third class="btn" expand="block" (click)="onClick(third,'3')">
longest railway station
</ion-button>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="ion-text-center">
<ion-button id="4" #four class="btn" expand="block" (click)="onClick(four,'4')">
None of the above
</ion-button>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<ion-button class="btn right" expand="small">
Next
</ion-button>
</ion-col>
</ion-row>
</ion-list>
play-quiz.ts。
answer: any = "1";
onClick(ionicButton, btn: any) {
if(this.answer == btn){
ionicButton.color = 'success';
} else {
ionicButton.color = 'danger';
}
}
在HTML中:
<ion-button [ngClass]="isClicked() ? 'btn red': 'btn'" (click)="onClick()">Toggle</ion-button>
在TS中:
isClick: boolean=false;
isClicked(){
return this.isClick;
}
onClick(){
this.isClick=!this.isClick;
}
您可以在onClick()
方法中修改的功能。根据返回的值isClicked()
,它将添加类“ red”(如果返回true,则将添加,否则返回no)。
CSS可以提供所有必需的样式。
希望这会有所帮助。