html - 使用 ngModelChange 改变样式
问题描述
我想知道是否可以使用 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'">
但如果可能的话,我想删除“错误”属性,并根据条件直接将样式分配给输入
解决方案
代替处理ngModelChange
,您可以使用带有条件的普通样式绑定 on ,它与参数的counter
值相同:$event
ngModelChange
<input [(ngModel)]="counter" [style.border-color]="counter > 2 ? '#ff4d4d' : '#dbdbdb'" class="input" type="number">
请参阅此 stackblitz以获取演示。
推荐阅读
- reactjs - 何时以及如何在 React Hooks 和旧的 HOC 道具传递之间进行选择?
- ios - swift中的实例属性属性
- java - 是否有可能(如何)在 Runtime Java 中获取方法引用的名称?
- android - 无法删除由同一应用程序以编程方式创建的 Wi-Fi 配置文件
- android - 即时聊天 - 使用 Sinch 的 Android
- c# - 将 JSON 转换为 C# POCO
- android - Kotlin - 如何创建类似于 TextView.setText(String) 的类成员函数,可以作为 TextView.text = "" 调用
- angular - Angular 4 Typescript - 构造随后 7 天的日期数组
- sql - 我想透视表
- angular - 使用 Angular 4 / ionic 在模板中显示 const