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