0

我正在使用 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>
4

0 回答 0