Knockout.js 敲除JS css绑定!=真的

Knockout.js 敲除JS css绑定!=真的,knockout.js,Knockout.js,我的视图模型返回了一个true值,我正试图让我的模板相应地添加CSS。问题是,我找不到!=对 我有这样的想法: <div data-bind="css: {'lw-touched': checked, 'lw-touch': !checked}"></div> 我想会说,如果选中,则应用“lw touch”==true,如果选中===false,则应用“lw touch”。但这不起作用:(.所以我试了这个: <div data-bind="css: {'lw-

我的视图模型返回了一个true值,我正试图让我的模板相应地添加CSS。问题是,我找不到!=对

我有这样的想法:

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

我想会说,如果选中,则应用“lw touch”==true,如果选中===false,则应用“lw touch”。但这不起作用:(.所以我试了这个:

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

这也没用


我肯定有办法做到这一点!我现在就是找不到它。

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

我离开是因为其他人可能也有同样的问题

data-bind="css: {'lw-touched': checked, 'lw-touch': !checked()}">
此外,由于@MikaelÖstberg,我使用了更好的语法

我将此标记为答案,这样我就不会得到更多的负面反馈:/

data-bind="css: isPlaying() ? 'play' : 'pause'"
考虑在绑定字段添加()

谢谢g.breeze,谢谢你的回答。我一直尝试在css属性上使用三元运算符,但不知道它可以在没有花括号的情况下设置。一本书

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

你用你有价值的答案撞到了一个两年前的话题。

该死的…30秒后才发布并解决了它。我离开它是因为其他人可能有这个问题…data bind=“css:{'lw-touch':checked,'lw-touch':checked()!==true}>把它作为你问题的答案。实际上你可以使用
!checked())
。无论何时对表达式求反,都需要使用括号来获取基础值。应用此项后,我得到了一些奇怪的结果:播放值为class='0 1 2 3',暂停值为class='0 1 2 3 4'。似乎敲除取了string.length值,而不是class属性的string。知道吗?如果强调括号()起了作用。没关系,现在我的评论就是为了这个目的!;)