On my Angular website, I am looking to reuse a component across more than 30 pages. While the majority of the pages have similar CSS, the content inside varies. I know I can simply insert <app-example></app-example> on all the pages, using <ng-content> to display different content within each component. However, I may face challenges in the future if I want to change the CSS grid layout or make other design modifications. I believe there is a more efficient way to address this issue by creating a "default" HTML template with placeholders and a default CSS design that can be used as a base for multiple pages. This would allow me to customize each component without altering the original template. I have experimented with ng-content, ng-template, and ngTemplateOutlet, but have not found a solution yet.
I have provided a sample HTML template on StackBlitz for reference:
https://stackblitz.com/edit/angular-ivy-tss4d5?file=src/app/app.component.css