当table中有数据时,我需要在td元素中应用背景颜色。如果没有数据,我不需要任何颜色。我的代码如下:
<td data-bind="text:EarlyOut,style:{background-color:EarlyOut!="" ? '#D2D6DE' : null}" ></td>
我写什么来代替null?
unguejic1#
Knockout很聪明,不会将null写入背景色彩。您的程式码问题是样式属性名称中的-字符。您可以写入{ "background-color": ... }或{ backgroundColor: ... }这里有一个修复了这个问题的可运行的例子。注意,如果EarlyOut是一个可观察的属性,你需要()来提取它的值。第一个
null
-
{ "background-color": ... }
{ backgroundColor: ... }
EarlyOut
()
fcg9iug32#
这与CSS的关系比与knockout.js的关系更大,你应该写'none'(一个字符串!)而不是null,至少如果你不想有背景色,如果你的条件是false。
'none'
false
2条答案
按热度按时间unguejic1#
Knockout很聪明,不会将
null
写入背景色彩。您的程式码问题是样式属性名称中的-
字符。您可以写入
{ "background-color": ... }
或{ backgroundColor: ... }
这里有一个修复了这个问题的可运行的例子。注意,如果
EarlyOut
是一个可观察的属性,你需要()
来提取它的值。第一个
fcg9iug32#
这与CSS的关系比与knockout.js的关系更大,你应该写
'none'
(一个字符串!)而不是null
,至少如果你不想有背景色,如果你的条件是false
。