Image you had a div with maybe 20 <button> elements:

Sometimes, this can get extremely high. I am wondering what would be the right approach with Angular to "truncate" these to the first "4" buttons and a "More/less" <p> tag toggle, which will show or hide the extra buttons on demand.
I understand what I need to do, I know how to do it with jQuery or "primitive HTML", but there must be an angular way I am not seeing (I was thinking on integrating a pipe, which can truncate based on boolean, but not so sure)
Current Code:
<div fxLayout="column">
<ng-container *ngFor="let color of car['style']?.colors">
<div fxFlex="30" *ngIf="color.category ==='Exterior'">
<md-card-subtitle>
{{ color.category }} Colors {{display.exterior}}
</md-card-subtitle>
<md-card-content>
<ng-container *ngFor="let option of color?.options">
<button *ngIf="option.colorChips !== undefined" type="button" (mouseover)="display.exterior = option.name" (mouseleave)="display.exterior = colors.exterior.name" (click)="setSelectedColor(x)" [ngStyle]="{'background-color': '#' + option.colorChips.primary.hex}"> </button>
</ng-container>
</md-card-content>
</div>
</ng-container>
</div>
perPage = 5, then change your template to something like<div *ngFor="let color of car['style']?.colors; let i = index"> <ng-container *ngIf="i+1 <= perPage"> </ng-container> </div>