KnockoutJS css binding!= true

时间:2012-02-16 22:29:34

标签: knockout.js

我的视图模型返回 true 值,我正在尝试让我的模板相应地添加CSS。问题是,我找不到!= true的语法。

我有这样的事情:

<div data-bind="css: {'lw-touched': checked, 'lw-touch': !checked}"></div>

我认为会说,如果选中'= true,则应用'lw-touching',如果选中=== false则应用'lw-touch'。但这不起作用:(。所以我尝试了这个:

<div data-bind="css: {'lw-touched': checked, 'lw-touch': checked !== true}"></div>

哪个也行不通。

我确信有办法做到这一点!我现在找不到它。

3 个答案:

答案 0 :(得分:18)

我发布并在30秒后解决了它:(。

我要离开了,因为其他人可能会遇到同样的问题。

data-bind="css: {'lw-touched': checked, 'lw-touch': !checked()}">

由于@MikaelÖstberg

,我也使用了更好的语法

我将此标记为答案,以便我不会得到更多负面反馈:/

答案 1 :(得分:1)

data-bind="css: isPlaying() ? 'play' : 'pause'"

考虑在绑定字段添加()

答案 2 :(得分:1)

感谢 g.breeze ,以获得答案。我尝试在 css 属性上使用三元运算符失败,但从未知道如果没有大括号,就可以设置它。一本书!

data-bind="css: ifThisExpressionIsTrue() ? 'applyThisClass andAnother' : 'elseThisClass'"

你用一个有价值的答案碰到了一个有两年之久的话题。