我遇到了未应用于元素的样式的问题。如果我将样式信息添加到组件的styles参数,或者在styleUrls参数中提供CSS文件,我会得到预期的结果。但是,未应用内联HTML样式。在下面的示例中,我尝试将红色背景应用于div,但它保持白色。此HTML作为Angular Component的模板存在。
<div style="background: red;">test</div>
&#13;
但是,如果我添加ngStyle =&#34;&#34;对于元素如:
<div style="background: red;" ngStyle="">test</div>
&#13;
然后Angular将div的背景呈现为红色。
是什么原因导致Angular忽略了像这样的样式属性?
答案 0 :(得分:1)
ngStyle和style是相同的,它们适用于样式 你可以同时填充两个,并且两个都将应用样式(除非两者都试图做同样的事情,否则不会取消另一个),但是使用[ngStyle]你可以将它绑定到代码中的属性,如下所示: [ngStyle] =“{backgroundColor:getColor()}”,getColor()是一个延迟颜色的字符串或十六进制的函数。
例如的代码段在角度2中有效(在工作中无法验证)
<div style="background-color: black;" [ngStyle]="{color: white}">text with back background and white font color</div>