我正在使用Angular和Semantic-UI框架开发Web应用程序。
为了在特定条件下向元素添加类,我已经使用了以下方法:
[class.className]='condition'
现在我有多个班级名称,我无法弄清楚如何处理它。
所以我尝试使用此Plunker中显示的ngClass
。
正如你在这里看到的,这个解决方案根本不起作用。
那么,如何修复我的Plunker以使其正常工作?
答案 0 :(得分:2)
您可以使用[ngClass]
<div class="field">
<label for="name">Name:</label>
<div class="ui input" [ngClass]="{loading : myForm.controls.name.pending}">
<input id="name" [formControl]="myForm.controls.name">
</div>
</div>
当您的测试结果为true
时,它会在您的课程中添加课程,否则从元素中删除
答案 1 :(得分:1)
您可以在此处使用[ngClass]
构建包含多个类的字符串。
<div [ngClass]="('firstClass ' + (active ? 'secondClass' : ''))"></div>
在这种情况下,firstClass
是第一个类,active是一个设置secondClass
类的布尔值。
因此,在您的情况下,您的代码可以变为:
<div class="field">
<label for="name">Name:</label>
<div class="ui input" [ngClass]= "((myForm.controls.name.pending ? 'loading' : '') + 'secondClass')">
<input id="name" [formControl]="myForm.controls.name">
</div>
</div>
请记住在两个连续的课程之间提供空格。
修改强>
至于你的plunker,你必须将ngClass
语句添加为:
[ngClass]="[o.order === 'asc' ? 'chevron circle up': '' , o.order === 'desc' ? 'chevron circle down': '']"