应用于 Angular2 中组件的主机样式



我目前正在为我的 Angular 组件创建自定义表单组件,并遇到了一些样式问题。

我希望我的输入能够采用可变宽度,并且它们由主机组件控制。

例如:<my-input class="input">将有一个相应的类,如下所示:

.input {
    width: 250px;
}

出于某种原因,如果我这样做,规则将被忽略并且不会应用于我的组件。

我见过其他人将他们的组件包装在看似不必要的div 中,然后设置这些父div 的样式,以便里面的内容适合。当 CSS 规则就足够时,我不想仅仅出于样式目的编写包装器。

这样做会涉及使用:host吗?另外,怎么样,host-context(.input)然后应用消费者CSS内部的类?

我建议不要使用::ng-deep since Angular团队计划弃用它。

如果你想从托管你的组件的任何组件中设置组件中的样式,我建议你创建一个主机绑定/输入,然后使用该值通过 style-指令绑定到你的组件。

最新更新