[英]Angular ngFor li html element set style
<ul class="days">
<liclass="day" *ngFor="let day of currentDays; let i = index"(click)="setStyle()">
{{day}}
</li>
</ul>
My question is how to add style to exactly specified element in list, when i use ngClass styles are added to all elements? 我的问题是,当我使用ngClass样式时,如何将样式添加到列表中的指定元素? It posible using method add pass reference to element and set style? 可以使用方法将传递引用添加到元素并设置样式吗?
You can conditionally set using ngStyle. 您可以有条件地使用ngStyle进行设置。 refer the following code. 请参考以下代码。
<div [ngStyle]="{'background-color':isTrue === true ? 'green' : 'red' }"></<div>
Or refer the stackblitz link for another solution. 或参考stackblitz链接以获取其他解决方案。
You can use 您可以使用
<li [class.your-class]="expression">
For example: 例如:
<li [class.mat-elevation-z10]="i === selectedElement">
Or you can use ngClass
with expressions 或者您可以将ngClass
与表达式ngClass
使用
<li [ngClass]="{'first': true, 'second': true, 'third': false}">
Where first
, second
and third
are your classes and true
, true
, false
are the expressions. 其中first
, second
和third
是您的类,而true
, true
, false
是表达式。 In the example above, both first and second class would be applied. 在上面的示例中,将应用第一类和第二类。
You can set different class
to each element
您可以为每个element
设置不同的class
<ul class="days">
<li *ngFor="let day of currentDays; let i = index" [class]="'day'+(index+1)">
{{day}}
</li>
</ul>
in css set style to each one: 在css中将样式设置为每个:
.day1{
...
}
You can use ngClass itself with conditions. 您可以将ngClass本身与条件一起使用。 You can replace RequiredDay string with variable. 您可以将RequiredDay字符串替换为变量。
<ul class="days">
<li [ngClass]="{'desiredClass':day === 'RequiredDay'}" *ngFor="let day of currentDays; let i = index" (click)="setStyle()">
{{day}}
</li>
</ul>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.