html - Angular动态添加类

标签 html css angular

有没有办法使用 Angular 解决方案从 .ts 文件添加类

<div [class.extra-sparkle]="isDelightful == true">

我想从 .ts 文件的一侧执行上述操作。代码越少越好。

<button class="general" (click)="ChangeScreen('Global')"       [class.selected]="CurrentPage == 'Global'">Global</button>
<button class="general" (click)="ChangeScreen('Maintenance')"  [class.selected]="CurrentPage == 'Maintenance'">Maintenance</button>
<button class="general" (click)="ChangeScreen('Settings')"     [class.selected]="CurrentPage == 'Settings'">Settings</button>
<button class="general" (click)="ChangeScreen('Profile')"      [class.selected]="CurrentPage == 'Profile'">Profile</button>
<button class="general" (click)="ChangeScreen('Transactions')" [class.selected]="CurrentPage == 'Transactions'">Transactions</button>

我只想在 ChangeScreen 函数中添加这样的内容:

ChangeScreen(page) {
    page.addClass = page;
}

然后我可以删除所有这些行:[class.selected]="CurrentPage == '...'"

最佳答案

您可以使用 ngClass 指令:

<div id="mydiv" [ngClass]="{'myCSSclass' : condition}"></div>

就这么简单!只有当 condition 的计算结果为 true 时,myDiv 才会拥有类 myCSSclass。此条件可以在您的 typescript 文件或模板中设置。

关于html - Angular动态添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51187256/

相关文章:

javascript - VBA - IE - 单击一个按钮创建另一个 'Input Enabled'

html - 为什么我的 CSS 按钮在 :active? 时移动相邻按钮

css - 强制 Bootstrap 选择(.selectpicker)元素的字体大小

javascript - 无法使用 selenium web-driver python 从自动完成下拉列表中选择多个选项

jquery - 将来自父 div 的文本 float 到两个并排的子 div 上?

html - 将鼠标悬停在按钮 : Display link? 上

TableView 中的 JavaFX 单元格颜色

javascript - Angular 5 - 我应该使用哪个向后导航 - href 或 location.back()?

javascript - Angular v2.0.0 与 v5.1.2

c# - 当发生服务器端事件时告诉 jQuery 重新加载页面