使用多个组件时的角度转换

时间:2018-03-26 02:16:16

标签: angular typescript angular2-ngcontent

我有以下三个组成部分:

<parent-component>
 <wrapper-layer>
   <inner-most>
   </inner-most>
 </wrapper-layer>
</parent-component>

我对如何将组件从<parent-component>传递到<inner-most>组件途径<wrapper-layer>感到困惑。

在转换期间,如何避免传递的组件显示在<wrapper-layer>

2 个答案:

答案 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">...