Knockout 类绑定在组件中不起作用

pit*_*ity 3 html css knockout.js font-awesome

我创建了一个淘汰组件,并在内部尝试将span元素绑定到视图模型中定义的 CSS 类。class我通常为此使用绑定:

<span data-bind="class: IconCssClass"></span>
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,它不起作用 - 它根本不应用该类。
但是,当我使用css绑定或attr绑定时,两者都会按预期工作:

<span data-bind="attr: { 'class': IconCssClass }"></span>
<span data-bind="css: IconCssClass"></span>
Run Code Online (Sandbox Code Playgroud)

这是一个淘汰错误还是我错过了什么?试图用谷歌搜索这个问题,但似乎没有其他人遇到过这个问题。

这是一个代码片段:

<span data-bind="class: IconCssClass"></span>
Run Code Online (Sandbox Code Playgroud)
<span data-bind="attr: { 'class': IconCssClass }"></span>
<span data-bind="css: IconCssClass"></span>
Run Code Online (Sandbox Code Playgroud)

pit*_*ity 5

我找到了原因,所以将回答我自己的问题。

class绑定是knockout中的新功能,直到knockout 3.5.0-beta才出现。
不幸的是,在淘汰赛文档中没有提到这一点,其中cssclass绑定一起描述,但没有任何信息表明其中之一是相当新的:
https://knockoutjs.com/documentation/css-binding.html

您必须查看发行说明才能找到此信息:

class绑定支持动态类字符串。这允许您一起使用cssclass绑定来支持设置 CSS 类的两种方法。

完整的淘汰赛 3.5.0-beta 发行说明:
https://github.com/knockout/knockout/releases/tag/v3.5.0-beta