【发布时间】:2017-04-10 08:19:46
【问题描述】:
如何在 Angular 2 的样式 TAG 中使用组件变量?
我的标题确实有一个 Angular 2 组件,我喜欢根据用户设置对其进行着色。因此,我想指定背景和字体颜色。虽然我知道如何通过属性绑定到元素来做到这一点,但我不知道如何在样式标签中使用。
对样式使用属性绑定效果很好,但是这对几个子元素来说会很烦人,尤其是当它们嵌套在其他子组件中时。 [ngStyle]= 属性也只适用于单个元素。
<header id="header" [style.background-color]="changeBackground()">
<div>
Some Text
<a href="asdf">Some Link</a>
<subcomponent></subcomponent>
</div>
<div> ... a lot mor stuff </div>
</header>
因此我想添加类似的东西
<style>
#header, #header a {
color: {{mycolor}};
}
</style>
到 html 模板。但是这不起作用
类似问题尚未回答此问题,仅显示属性绑定作为解决方案:
【问题讨论】:
-
#header, #header a {是一个 CSS 选择器,它选择 id 为header的元素,它是<a>的子元素。我不希望模板变量在样式标签中工作。你应该使用ngStyle。也不鼓励绑定到视图="changeBackground()"中的方法,因为它会在每个更改检测周期中调用。而是将结果分配给属性并将视图绑定到属性。 -
我知道这个问题现在有点老了,但这个答案可能会帮助你stackoverflow.com/a/48265526/1389807