【发布时间】:2020-03-11 21:22:38
【问题描述】:
在一些 Angular 2/4 项目中考虑以下层次结构:
<parent-cmp [ngClass]="{ 'parent': condition }">
<child-cmp class="child"></child-cmp>
</parent-cmp>
现在在子组件的 CSS 文件中我想说:
.parent .child {
background-color: red;
}
在这种情况下,我将孩子的设计基于父母的逻辑,而不知道该逻辑在孩子级别是什么。但问题是,这行不通。这是因为,Angular 将子 CSS 选择器编译为:
.parent[_ngcontent-c9] .child[_ngcontent-c9] {
background-color: red;
}
并且选择器的父部分不再起作用。那么我怎样才能做到这一点呢?另外请记住,我简化了这个例子,两个组件不一定是一个接一个(中间可能有任意数量的组件)。
【问题讨论】:
-
将数据传递给子组件,让其管理自己的状态。
-
@zzzzBov 那将是我最后的选择。