Angular 在另一个组件中以不同的方式设置子组件的样式
我正在尝试设置我的Angular 在另一个组件中以不同的方式设置子组件的样式,angular,typescript,sass,Angular,Typescript,Sass,我正在尝试设置我的警报框的样式(来自bootstrap)[这也是一个组件],当它出现在我的一个组件中时,它会略有不同。对于其他地方,我想使用它的默认样式 我能够通过以下方式实现我想要的: 封装:视图封装。在父组件中无。然而,我真的很想避免它,并学会使用最佳实践 有谁能解释一下,在不修改封装的情况下,如何实现这一点 在一些帖子中,用户提到使用:host和::contentcss属性,但到目前为止,我无法使用它们 我相信这是一个非常常见的场景,应该有一个很好的方法来实现它。您可以在类似于家长的场景中
警报
框的样式(来自bootstrap)[这也是一个组件],当它出现在我的一个组件中时,它会略有不同。对于其他地方,我想使用它的默认样式
我能够通过以下方式实现我想要的:
封装:视图封装。在父组件中无。然而,我真的很想避免它,并学会使用最佳实践
有谁能解释一下,在不修改封装的情况下,如何实现这一点
在一些帖子中,用户提到使用:host
和::content
css属性,但到目前为止,我无法使用它们
我相信这是一个非常常见的场景,应该有一个很好的方法来实现它。您可以在类似于家长的场景中使用/deep/
:host /deep/ some-grand-child {
color: blue;
}
要使选择器跨越组件边界,而不将视图封装
设置为无
哇-这很有效!谢谢我确实看到有人提到/deep/
,但我从没想过它在CSS选择器中会起作用。显然,我需要更深入地研究shadow DOM。这是Angular2+独有的,并且仅适用于视图封装。仿真的。在ShadowDOM中,它们被添加到Chrome中,但不推荐使用(Angular重写了选择器)