angular - 如果 ng-content 有内容或为空 Angular2

标签 angular angular2-template

我想了解如何创建一个 if 来显示 ng-content是空的。

<div #contentWrapper [hidden]="isOpen">
    <ng-content ></ng-content>
</div>

<span *ngIf="contentWrapper.childNodes.length == 0">
    <p>Display this if ng-content is empty!</p>
</span>

当内容为空时,我尝试使用它来显示显示数据,但即使信息为空也不显示 <span>标签

谢谢,一直感谢您的帮助。

最佳答案

使用 children 而不是 childNodes。 Angular 为 *ngIf* 创建注释节点,由 childNodes`

计算
<div #contentWrapper [hidden]="isOpen">
    <ng-content ></ng-content>
</div>

<span *ngIf="contentWrapper.children.length == 0">
    <p>Display this if ng-content is empty!</p>
</span>  

Plunker example

关于angular - 如果 ng-content 有内容或为空 Angular2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37874432/

相关文章:

angular - 当子组件具有 ngModelGroup 时,没有 ControlContainer 的提供者

javascript - 如何使用 Angular 2 实现物化?

typescript - 使用 ngOnInit() 而不是构造函数; @Input() 未定义

angular - 你如何在 Angular 中使用计算/计算的属性?

javascript - 无法将组件加载到页面中 - Angular 4/Ionic 3

angular - 如何取消订阅 Angular2 中的 Firebase 列表?

angular - NGRX Effect 中的内存泄漏

Angular 2 : Reload same component again when redirect on the same route

angular - Primeng - 无法在列中显示数组项

angular - 如何将 *ngIf 绑定(bind)到模板中的 *not* 条件?