1

I have a situation where I need to display some content passed via ng-content with a selector to one of two areas. I have an ngIf that is used to check where to render the ng-content. The problem is that even if I have an ngIf in my first ng-content, the content will not be rendered in the second ng-content even if the condition for the first one is false. Here's an example of the issue:

<div>
    <ng-content *ngIf="someBoolean" select="figure"></ng-content>
    <div *ngIf="!someBoolean">
        <ng-content select="figure"></ng-content>
    </div>
</div>

This works fine if someBoolean is true. However, nothing will be inside the second div if someBoolean is false. What can I do to fix this? I found these two similar questions, but I tried all solutions and it does not work with Angular 6:

Before you lock my question, I guarantee that I have tried all these solutions and they do not work on Angular 6 if you use selectors in ng-content.

ThomasFromUganda
  • 380
  • 3
  • 17

0 Answers0