html - Koşullu ifadelerle ngClass nasıl kullanılır
Mat simge öğemin rengi dinamik olarak değişmelidir.
<mat-icon class="temperature icon" svgIcon="thermometer-alert" matTooltip = {{temp_tooltip}}
aria-label="Icon that displays a tooltip when focused or hovered over"
[ngClass]= "{
'safe' : 23 <= temp_tooltip <= 24.5,
'alarm_lowside' : 21 <= temp_tooltip < 23,
'alarm_highside' : 24.5 < temp_tooltip <= 26,
'critical_lowside' : temp_tooltip < 21,
'critical_highside' : temp_tooltip > 26
}" >
</mat-icon>
temp_tooltip değeri component.ts içinde bağlanmıştır
ve css renk stiline sahip
.safe {
color: green
}
.alarm_lowside {
color: yellow
}
.alarm_highside {
color: yellow
}
.critical_lowside {
color: red
}
.critical_highside{
color: red
}
critical_lowside ve critical_highside sınıflarıyla iyi çalışıyor, ancak diğer sınıflar için çalışmıyor. Nasıl düzeltilir. ngClass'ın tanımlanma şekli doğru mu?
Cevap #1
`23 <= temp_tooltip <= 24.5` JavaScript/TypeScript'te doğru bir ifade değildir.
Bu koşulu 23 <= temp_tooltip && temp_tooltip <= 24.5 gibi başka bir şekilde ifade etmenin yolunu bulmalısınız
Cevap #2
Doğru sözdizimi şöyle olur:
[ngClass]= "{
'safe' : temp_tooltip >= 23 && temp_tooltip <= 24.5,
'alarm_lowside' : temp_tooltip >= 21 && temp_tooltip < 23,
'alarm_highside' : temp_tooltip > 24.5 && temp_tooltip <= 26,
'critical_lowside' : temp_tooltip < 21,
'critical_highside' : temp_tooltip > 26
}"
