ngClass or class=“{{}}”?

半世苍凉 提交于 2019-12-10 22:18:25

问题


Just curious if there are any bigger advantages on any of these approaches?

  <div class="small" ngClass="well-{{small}}">small</div>

or

  <div class="small" class="well-{{big}}">big</div>

回答1:


The way you are using ngClass it does not matter. Although, ngClass allows us to conditionally add classes, i.e.

<some-element [ngClass]="{'first': true, 'second': true, 'third': false}">...</some-element>

when using class, you will have something like:

<some-element [class]="someExpression ? 'first' : ''">...</some-element>

To sum it up, ngClass is more flexible when you have to add conditional classes.




回答2:


The only advantage in my experience is when you want to format the data. For example a date, otherwise it is the same:

{{'1288323623006' | date:'MM/dd/yyyy @ h:mma'}}



回答3:


*If you want to add class, use class as below.

class="className"  

*If you want to add one class conditionally, you can use class/ngClass in angular as below.

[class.className]="condition"  
[ngClass]="{'className': condition}"

*If you want to add more than one class conditionally, you have two way.

Way 1: Use class in angular as below:

[class.className1]="condition1"  
[class.className2]="condition2"
.
.
.

Way 2: Use ngClass in angular as below:

[ngClass]="{'class1': condition1 , 'class2': condition2 ... }"

And clearly the 2nd way is better than the 1st. Phew !!



来源:https://stackoverflow.com/questions/45803967/ngclass-or-class

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!