Как установить CSS для чередующихся строк в угловых 4
Я хотел бы определить класс для чередующихся строк в угловых 4, как это сделать?
HTML
<div class="scrollbars">
<div *ngFor="let path of Xyzpaths">
<div>{{path.xyz}}</div>
<div>{{path.salesItem}}</div>
<div>{{path.path1}}</div>
<div>{{path.path2}}</div>
</div>
</div>
CSS
.odd { background-color: #f2f9ff;}
.even { background-color: #eceff3; }
2 ответа
Решение
Да, вы можете использовать нечетные и четные локальные переменные в ngFor, что-то вроде этого.
<div class="scrollbars">
<div *ngFor="let path of Xyzpaths index as i; odd as isOdd; even as isEven"
[class.Odd]="isOdd"
[class.even]="isEven">
<div>{{path.xyz}}</div>
<div>{{path.salesItem}}</div>
<div>{{path.path1}}</div>
<div>{{path.path2}}</div>
</div>
</div>
Используйте CSS -селектор nth-child:
scrollbars > div:nth-child(even) {background-color: #f2f9ff;}
scrollbars > div:nth-child(odd) {background-color: #eceff3;}
Старайтесь избегать добавления шаблонной логики там, где вам это не нужно, и в этом случае вам это не нужно - CSS может сделать все это на несколько порядков эффективнее, чем использование директивы шаблона.