我有以下三个组成部分:
<parent-component>
<wrapper-layer>
<inner-most>
</inner-most>
</wrapper-layer>
</parent-component>
我对如何将组件从<parent-component>
传递到<inner-most>
组件途径<wrapper-layer>
感到困惑。
在转换期间,如何避免传递的组件显示在<wrapper-layer>
。
答案 0 :(得分:1)
因为没有答案。这就是我完成它的方式:
在<parent-component>
中:放置您想要传递的组件。
在<wrapper-layer>
中:使用以下代码段:
<ng-container ngProjectAs="component-to-pass">
<ng-content select="component-to-pass"></ng-content>
</ng-container>
<inner-most>
:<ng-content select="component-to-pass"></ng-content>
。
通过这种方式,传递的组件不会在中间层渲染,而是传递到<inner-most>
组件。
答案 1 :(得分:0)
如果你想将一个组件传递给它的孩子,那么你可以使用这样的东西:
在父组件html中:
<wrapper-layer [parent]="this">...
(这会将当前组件传递给它的子组件。或者,如果要查找自定义组件,仍然可以使用ViewChild选择器)
在包装层ts:
@Input() parent: any;
然后你再次传递它,在包装层html:
<inner-most [parent]="parent">...