gpt4 book ai didi

css - 如何从嵌入的组件设置宿主组件的样式

转载 作者:行者123 更新时间:2023-11-28 00:20:59 26 4
gpt4 key购买 nike

我有 2 个组件,一个父组件和一个子组件。父级包含子级并使用它来包装一些内容并为其添加标题。子组件使用嵌入来实现这一点。

父模板如下所示:

<div class="parent">
<child [title]="componentTitle" class="child">
<p>some content</p>
</child>
</div>

子模板如下所示:

<div class="child">
<h2 class="title">{{title}}</h2>
<ng-content></ng-content>
</div>

当我尝试使用父组件的 CSS 来控制样式时,我可以非常简单地处理所有嵌入的内容:

.child p {
background-color: blue;
}

但是,我无法访问标题元素。换句话说,以下规则不起作用:

.child h2.title {
background-color: red;
}

因为父级是子级的主机,所以使用 :host 是行不通的。

有什么建议吗?

最佳答案

好吧,你可以这样做:

::ng-deep {
.child h2.title {
background-color: red;
}
}

不过我认为这已被弃用。最合适的方法是将输入传递给 child 。我建议:1) 向子类添加一个@Input() titleColor。2) .red CSS 样式,背景颜色:红色。给 child 的CSS3) 添加一个 [ngClass]="titleColor"到子类 h2

关于css - 如何从嵌入的组件设置宿主组件的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54872927/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com