, но это делает его менее общим, что разочаровывает.

я проблема с новымng-content включение.

Допустим, у меня есть компонентmy-component что в егоngOnInit() Функция выполняет некоторые тяжелые операции под нагрузкой (на данный момент, простоconsole.log()).

У меня есть обертка, которая отображает содержимое через включение (my-wrapper.component.html).

<ng-content></ng-content>

Если я настрою окружение так, оператор log не будет отображаться:

<my-wrapper *ngIf="false">
    <my-component></my-component>
</my-wrapper>

Я предполагаю, чтоmy-wrapper Компонент не создается, поэтому содержимое игнорируется.

Но если я попытаюсь переместить логику вmy-wrapper компонент как этот (my-wrapper.component.html):

<ng-container *ngIf="false">
    <ng-content></ng-content>
</ng-container>

Я всегда вижуconsole.log() выход. Я думаю,my-component строится, а затем хранится до тех пор, пока*ngIf становитсяtrue внутриmy-wrapper.

Намерение состояло в том, чтобы создать общий компонент «list-item + detail». Скажем, у меня есть список из N элементов обзора (my-wrapper), которые получают в*ngFor петля. Каждый из этих элементов имеет свой собственный компонент детализации (my-component), который должен загружать свои собственные данные, как только я решу показать больше информации для конкретного элемента.

overview.html:

<ng-container *ngFor="let item of items">
    <my-wrapper>
        <my-component id="item.id"></my-component>
    </my-wrapper>
</ng-container>

мой-wrapper.component.html:

<div (click)="toggleDetail()">Click for more</div>
<div *ngIf="showDetail">
    <ng-content></ng-content>
</div>

Есть ли способ сказать Angular, чтобы игнорировать включенный контент, пока он не будет добавлен на страницу? Аналогично тому, как это было в AngularJS.

Ответы на вопрос(0)

Ваш ответ на вопрос