Css 为什么:主机上下文是必需的,因为:host可以满足

Css 为什么:主机上下文是必需的,因为:host可以满足,css,angular,Css,Angular,据我所知,:主机上下文用于基于父级选择器应用样式 让我们考虑如下规则: :主机上下文(.red-theme){背景色:red;} 可以使用:主机选择器写入以下内容: 。红色主题:主机{背景色:红色;} 那么,明确要求主机上下文是什么?如果要设置组件自定义HTML元素本身的样式,请使用:host 其中,当您还希望让组件应用样式时,将使用as:主机上下文,同时考虑组件渲染时的上下文 例如,您可以这样做:(使用主机上下文) 构件样式定义如下: :host-context(.red-theme) .bt

据我所知,
:主机上下文
用于基于父级选择器应用样式

让我们考虑如下规则:

:主机上下文(.red-theme){背景色:red;}

可以使用:主机选择器写入以下内容:

。红色主题:主机{背景色:红色;}


那么,明确要求主机上下文是什么?

如果要设置组件自定义HTML元素本身的样式,请使用
:host

其中,当您还希望让组件应用样式时,将使用as
:主机上下文
,同时考虑组件渲染时的上下文

例如,您可以这样做:(使用主机上下文)

构件样式定义如下:

:host-context(.red-theme) .btn-theme {
    background: red;
 }

如果您希望在web应用程序上有多个可选主题,则此选项非常有用。

其中,当您还希望组件将样式应用于其外部的某个元素时,将使用as:host context。
是错误的,您的意思可能是
其中,当您还希望组件应用样式时,将使用as:host context呈现组件的帐户上下文。
@penleychan您的回答解释了:主机上下文的用法。但问题是——同样的事情也可以用:host来完成,那么:host context还能做什么呢?@NoelSchenk不知道,不属于angular团队。如果您想了解更多关于这些
:host
:host context
演示的信息,请点击这里的链接-
<button class="btn btn-theme">Button</button>
:host-context(.red-theme) .btn-theme {
    background: red;
 }