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