37

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

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

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

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

4

2 回答 2

58

只需将其放在引号中:

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

这是一个更新的小提琴

作为旁注,您不需要> 0因为 alength0评估为false,并且任何其他长度将评估为true

<p data-bind="text: property, css: { 'with-dash': property().length }"></p>
于 2012-04-23T15:19:57.100 回答
7

您可以使用 ' 限定名称

像这样:

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

你的小提琴,更新

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

于 2012-04-23T15:20:04.740 回答