敲除样式绑定不允许我追加!important

pan*_*tek 0 data-binding knockout.js

我正在尝试将背景绑定到这样的表格单元:

data-bind="style: { background: Css }
Run Code Online (Sandbox Code Playgroud)

CSS变量可以等于#F7C7D4之类的颜色。

此部分有效,并且单元格填充有颜色,但是当我尝试打印页面时,没有颜色显示。当我尝试不使用绑定时,如下所示:

<td style="background #F7C7D4 !important;"></td>
Run Code Online (Sandbox Code Playgroud)

颜色显示在页面上和打印时。但是当我将代码更改为:

data-bind="style: { background: Css + ' !important' }
Run Code Online (Sandbox Code Playgroud)

剔除将不会绑定背景数据。不会引发错误,但屏幕上不会显示任何颜色,并且当我检查元素时,尚未将背景样式添加到样式属性中。我还尝试过更改Css变量以包含!important,其结果与绑定不起作用相同。

JSFiddle

任何帮助,将不胜感激。

小智 5

您可以使用attr绑定来设置样式属性的值)

data-bind="attr:{ style: 'background: ' + Css() + ' !important' }
Run Code Online (Sandbox Code Playgroud)