Css *ngContainerOutlet样式不适用于ng组件封装

Css *ngContainerOutlet样式不适用于ng组件封装,css,angular,components,Css,Angular,Components,我正在使用*ngContainerOutlet动态加载组件,但它将组件的模板封装在ng component标记中,导致我的CSS规则失败 例如: <div class="my-class"> <ng-container *ngComponentOutlet="MyComponent"></ng-container> </div> 我的结局是: <div class="my-class"> <ng-compon

我正在使用
*ngContainerOutlet
动态加载组件,但它将组件的模板封装在
ng component
标记中,导致我的CSS规则失败

例如:

<div class="my-class">
    <ng-container *ngComponentOutlet="MyComponent"></ng-container>
</div>

我的结局是:

<div class="my-class">
    <ng-component>
        <div>my content...</div>
    </ng-component>
</div>

我的内容。。。
导致
my class
不应用于组件的模板

我试图创建一个CSS规则,比如
my class>ng component
,但由于它是动态创建的,所以不起作用。与
:第一个孩子相同

有没有一个解决方案,或者是CSS,或者是Angular(例如,防止这种封装)

谢谢,
亚历山大更新

::slotted
现在受到所有新浏览器的支持,并可与`ViewEncapsulation.ShadowDom一起使用

原创

您可以使用
/deep/
组合器克服封装问题:

:host /deep/ ng-component {
  ...
}
另见


这正是我需要的,谢谢!这是链接解释的: