【发布时间】:2021-06-21 08:07:05
【问题描述】:
我是 Angular 的新手! 我尝试在单击按钮时更改颜色。
循环绑定工作正常,包括在外部元素中显示动态变量,例如 {{'profile3.q2_' + (i+1) | translate}},但是当我尝试 [ngClass] 变量绑定不起作用。
我应该如何申请“ [ngClass]="'q2_' + (i+1) =='1'? ~~~“部分?
谢谢。
*.html 文件
如果不应用动态变量:
<ion-row class="ion-margin-top ion-margin-bottom">
<ion-col size="4">
<ion-button expand="block" fill="outline"
[ngClass]="q2_1 =='1'?'btn-background' : 'btn-default'" (click)="onClicked(1)">
<span class="contentText">{{'profile3.q2_1' | translate}}</span>
</ion-button>
</ion-col>
<ion-col size="4">
<ion-button expand="block" fill="outline"
[ngClass]="q2_2 =='1'?'btn-background' : 'btn-default'" (click)="onClicked(2)">
<span class="contentText">{{'profile3.q2_2'| translate}}</span>
</ion-button>
</ion-col>
</ion-row>
~~
期望的方向(应用动态变量和条件):
<ion-row class="ion-margin-top ion-margin-bottom">
<ion-col size="4" *ngFor='let in of counter(7) ;let i = index'>
<ion-button expand="block" fill="outline"
[ngClass]="'q2_' + (i+1) =='1'?'btn-background' : 'btn-default'" (click)="onClicked(i+1)">
<span class="contentText">{{'profile3.q2_' + (i+1) | translate}}</span>
</ion-button>
</ion-col>
</ion-row>
*.ts 文件:
public q2_1 : string = "0";
public q2_2 : string = "0";
~~
counter(i: number) {
return new Array(i);
}
onClicked(opt){
if (opt ==1) this.q2_1=this.q2_1=='0'? '1': "0";
if (opt ==2) this.q2_2=this.q2_2=='0'? '1': "0";
~~~~
}
...
------------------------
【问题讨论】:
标签: angular typescript