是否可以使用多个 ::ng-deep 标识符在深层嵌套的组件上应用样式?
Is it possible to use multiple ::ng-deep identifiers to apply a style on a deeply nested component?
假设我有这样一棵 DOM 树:
<component1>
<component2>
<div>
<component3>
<div>
<div>
<div>
<div>
<component4> Can a style be applied here using ng-deep?</component4>
</div>
</div>
</div>
</div>
</component3>
</div>
</component2>
</component1>
是否可以将来自 父组件 (component1) 的样式 应用到深度嵌套的 'component4'。假设所有组件都被封装..
编辑:我很清楚这在很多方面都不理想,但问题来了?!
是的,是的。
基本上,使用 ng-deep
会破坏阴影 DOM,这会将 css 应用到其中的每个组件。
意味着在 component1.scss
中添加以下代码将更改 <component4>
的背景颜色
:host &::ng-deep component4 {
background-color: blue;
}
正如您所说,这在很多方面都不理想,我不建议您使用 ::ng-deep
,因为它已被弃用,请改用 encapsulation
假设我有这样一棵 DOM 树:
<component1>
<component2>
<div>
<component3>
<div>
<div>
<div>
<div>
<component4> Can a style be applied here using ng-deep?</component4>
</div>
</div>
</div>
</div>
</component3>
</div>
</component2>
</component1>
是否可以将来自 父组件 (component1) 的样式 应用到深度嵌套的 'component4'。假设所有组件都被封装..
编辑:我很清楚这在很多方面都不理想,但问题来了?!
是的,是的。
基本上,使用 ng-deep
会破坏阴影 DOM,这会将 css 应用到其中的每个组件。
意味着在 component1.scss
中添加以下代码将更改 <component4>
:host &::ng-deep component4 {
background-color: blue;
}
正如您所说,这在很多方面都不理想,我不建议您使用 ::ng-deep
,因为它已被弃用,请改用 encapsulation