有没有一种方法可以使用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 == '...'"
4条答案
按热度按时间wz1wpwve1#
您可以使用
ngClass
指令:就这么简单!myDiv只有在
condition
的计算结果为true
时才会有类myCSSclass
。这个条件可以在你的脚本文件或模板中设置。rks48beu2#
使用
Renderer
标签:https://angular.io/api/core/Renderer
网址:https://angular.io/api/core/Renderer#setElementClass
在html中:
或
Render2
:标签:https://angular.io/api/core/Renderer2
网址:https://angular.io/api/core/Renderer2#addClass
在html中:
waxmsbnn3#
虽然解决方案与渲染工程,我建议您创建一个数据结构,为您的按钮
这可以很容易地通过使用
ngFor
进行迭代你的
ChangeScreen
方法唯一需要做的就是...它已经在做的事情,设置当前页面!请参阅stackblitz以了解如何执行此操作。
bwitn5fc4#
在Angular中使用
class
编程添加类