我遇到的情况是,除了样式表中的1个变量之外,我的组件几乎相同。假设我有component1的CSS:
.selector {
background-color: 'red';
margin: 12px;
}
和component2的CSS:
.selector {
background-color: 'red';
}
假设两个组件上的HTML以及.ts代码都相同。
但是,每个元素都有一个ng-content。是否有一种添加
margin: 12px
的方法对component2很重要。在组件声明中,是否可以有条件样式或样式表(在这种情况下,变化多于
margin: 12px
,但其他所有条件都相同)? 最佳答案
您是否考虑过继承?也许Component2可以扩展Component1,但是引用不同的styleUrl。这样,Component2将具有Component1中包含的所有逻辑和变量。
@Component({
selector: "app-component-2",
templateUrl: "./component1.html",
styleUrls: ["./component2.css"]
})
export class Component2 extends Component1 {}