我需要覆盖特定角度组件中src / styles.scss文件中定义的全局样式。
我知道我可以通过做类似下面的事情来做到这一点
import { ViewEncapsulation } from '@angular/core';
@Component({
...
encapsulation: ViewEncapsulation.None
})
或根据需要使用 ::ng-deep
或 /deep/
或 >>>
。
这两种方法似乎都有退缩。 ViewEncapsulation.None
方法似乎使我的覆盖样式全局化,我的架构师不相信使用::ng-deep
,因为他们试图通过避免ViewEncapsulation.Emulate
应用的范围来尝试将样式应用于元素,I猜测。
我可以建议使用其他解决方案吗?
答案 0 :(得分:1)
hackernoon对这些问题有很好的解释。不幸的是,它们几乎全部(如果还没有)已被弃用。
我认为您需要关注的是:host,它定位您正在处理的当前组件的模板。当然,这仅适用于该组件。