我知道在淘汰赛中能够从可观察的属性中指定类,如下所示:
<div data-bind="css: Color " >
Knockout 还提供了指定条件类渲染的能力,如下所示:
<div data-bind="css: { 'my-class' : SomeBooleanProperty }" >
但是,如果我需要将淘汰赛 css 的这些功能绑定在一起,应该指定哪个标记?
我试过这个,但没有运气:
<div data-bind="css: { Color, 'my-class' : SomeBooleanProperty }" >
我得到了错误:
错误:无法解析绑定。SyntaxError: Unexpected token ,;
我在谷歌或官方文档中没有找到任何示例。
更新
我找到了一种解决方法:在代码中构建样式字符串并将其放入属性中,如下所示:
item.AdditionalCss(Color() + " " + (result.IsSortable() ? 'my-class' : null));
并在 html 中指定这个类:
data-bind="css: AdditionalCss "
但我有点困惑,我认为这是肮脏的做法。我认为在标记中实现相同的结果会更好。如何通过标记实现这一点?