Компонент внутри ng-content создается дважды - PullRequest
0 голосов
/ 11 июля 2019

Я использую Angular 4, и у меня есть компонент 'X', который по сути является компонентом свертывания-расширения.Он оборачивает все, что ему предоставлено, сворачивается и разворачивается при нажатии.Он выглядит примерно так, как показано ниже.

<div>
    // some X related DOM here
    <ng-content></ng-content>
</div>

У меня есть другой компонент 'Y', который я помещаю в компонент 'X', например:

<x>
   <y [someAttribute]="someAttribute"> </y>
</x>

Теперь я понял, чтокомпонент 'Y' создается дважды, т. е. конструктор ngOnInit, ngOnChanges все вызывается дважды.

Может ли быть проблема с использованием <ng-content> (я все еще не совсем уверен).Если да, то как мне справиться с этим, чтобы вызвать мой компонент «Y» только один раз, так как мне нужно, чтобы компонент «Y» был обернут только в «X».

Редактировать: я пропустил добавление ранее в вопросе о том, чтоЯ использую библиотеку ngxPermissions для условного отображения ''.Так что это больше похоже на:

<x>
   <ng-template [ngxPermissionsOnly]="validPermissions">
       <y [someAttribute]="someAttribute"> </y>
   </ng-template>
</x>
...