angular - 单击时更改按钮的背景颜色

标签 angular typescript ng-class

我有一个按钮,单击时将其文本更改为启用禁用

我怎样才能更改按钮颜色,

例如启用时更改为绿色,禁用时更改为红色

<button (click)="enableDisableRule()">{{status}}</button>

组件

toggle = true;
status = 'Enable'; 

enableDisableRule(job) {
    this.toggle = !this.toggle;
    this.status = this.toggle ? 'Enable' : 'Disable';
}

感谢任何帮助。谢谢

最佳答案

您可以使用 ngClass 指令来实现此目的,使用两个不同的 css 类,这两个类将根据切换的 bool 值触发:

模板:

<button 
    (click)="enableDisableRule()" 
    [ngClass]="{'green' : toggle, 'red': !toggle}">
    {{status}}
</button>

CSS

.green {
    background-color: green;
}

.red {
    background-color: red;
}

ts

toggle = true;
status = 'Enable'; 

enableDisableRule(job) {
    this.toggle = !this.toggle;
    this.status = this.toggle ? 'Enable' : 'Disable';
}

Demo

关于angular - 单击时更改按钮的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51716059/

相关文章:

css - Angular:ngClass 属性中的条件始终被视为 true

css - AngularJS:当过滤器没有返回结果时应用 css 类

css - Angular 6 : Additional class if boolean is true

javascript - 装饰器不支持 Angular 6 Prod 函数调用,但调用了 '..Module'

javascript - 如何使用 Angular5/6 显示下拉菜单中选定的项目?

angular - 从 Markdown 文件渲染 Angular 分量

javascript - Angular 框架如何通过 Angular CLI 加载到应用程序中?

typescript - 使用 const 断言,如何从任意嵌套对象中提取文字类型?

typescript - 联合类型和 "currying"/partial 应用程序样式 API

javascript - ng-class 没有像我预期的那样工作