Knockout JS - CSS在类名中绑定破折号

Dis*_*ile 36 html javascript knockout.js

我在Knockout中有一个数据绑定,如果条件为真,则应用CSS类.当我在类名中使用破折号(例如测试类)时,我得到一个javascript错误.

这是一个演示问题的小提琴:http://jsfiddle.net/sgvem/2/

<p data-bind="text: property, css: { with-dash: property().length > 0 }"></p>
Run Code Online (Sandbox Code Playgroud)

有没有办法使用Knockout JS添加带破折号的类?

Jam*_*ice 53

把它放在引号中:

<p data-bind="text: property, css: { 'with-dash': property().length > 0 }"></p>
Run Code Online (Sandbox Code Playgroud)

这是一个更新的小提琴.

作为一个侧面说明,你不需要> 0因为length0将评估为false,和任何其他长度将评估为true:

<p data-bind="text: property, css: { 'with-dash': property().length }"></p>
Run Code Online (Sandbox Code Playgroud)


Mik*_*erg 7

您可以使用'限定名称

像这样:

<p data-bind="text: property, css: { 'with-dash': property().length > 0 }"></p>
Run Code Online (Sandbox Code Playgroud)

你的小提琴,更新

以下是解释css绑定的Knockout文档:http://knockoutjs.com/documentation/css-binding.html