我想知道是否可以使用ngModelChange设置元素的样式。我尝试了以下操作,但这不起作用

<input class="input" [(ngModel)]="counter" (ngModelChange)="$event > 2 ? [style.border-color]='#ff4d4d' : [style.border-color]='#dbdbdb'" type="number">


我知道我可以做类似的事情

<input class="input" [(ngModel)]="counter" (ngModelChange)="$event > 2 ? error=true : error=false" type="number" [style.border-color]="error ? '#ff4d4d' : '#dbdbdb'">


但是我想尽可能删除'error'属性,并根据情况将样式直接分配给输入

最佳答案

除了使用ngModelChange之外,还可以对counter使用条件的普通样式绑定,该条件的值与$eventngModelChange参数相同:

<input [(ngModel)]="counter" [style.border-color]="counter > 2 ? '#ff4d4d' : '#dbdbdb'" class="input" type="number">


有关演示,请参见this stackblitz

关于html - 使用ngModelChange更改样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51790417/

10-13 01:52