我想知道是否可以使用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
使用条件的普通样式绑定,该条件的值与$event
的ngModelChange
参数相同:
<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/