[Angular] Remove divs to Preserve Style and Layout with ng-container in Angular

The Angular <ng-container> is a grouping element that doesn't interfere with styles or layout because Angular doesn't put it in the DOM.

 

When we using Content Projection in a DUMP component:

<div class="card" style="width: 18rem;">
  <ng-content select=".heading"> </ng-content>
  <div class="card-body">
   <ng-content select=".body"> </ng-content>
  </div>
</div>

We are using <ng-content> here to get projected element from the SMAR component:

复制代码
<app-card>
  <div class="heading"> <!-- add a extra div with class selector to wrap the elements -->
    <img class="card-img-top" src="https://picsum.photos/g/200/300" alt="Card image cap">
  </div>
  <div class="body"> <!-- add a extra div with class selector to wrap the elements -->
    <h5 class="card-title">Card Title</h5>
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    <a href="#" class="btn btn-primary">Go somewhere</a>
  </div>
</app-card>
复制代码

 

It ends up we have a extra div in the DOM, to remove that extra div, we just need to replace 'div' with 'ng.container':

复制代码
<app-card>
  <ng-container class="heading">
    <img class="card-img-top" src="https://picsum.photos/g/200/300" alt="Card image cap">
  </ng-container>
  <ng-container class="body">
    <h5 class="card-title">Card Title</h5>
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    <a href="#" class="btn btn-primary">Go somewhere</a>
  </ng-container>
</app-card>
复制代码

 

posted @   Zhentiw  阅读(198)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2016-06-24 [Angular 2] Handle Reactive Async opreations in Service
2015-06-24 [Javascript + rxjs] Introducing the Observable
2015-06-24 [Javascript] IIFE
点击右上角即可分享
微信分享提示