使用knockout来设置带有if条件的css类

Was*_*sim 32 knockout.js

我想将一个bootstrap css类设置为if条件的跨度(最多为绑定值).我isApproved在列表中有字段,我想看到带有'label-success'类的字段,当它处于活动状态且'label-important'类时它处于非活动状态

我添加了这一行,但是它一直是第一堂课:

data-bind="text: isApproved, css: isApproved = 'true' ? 'label label-important' : 'label label-important'"
Run Code Online (Sandbox Code Playgroud)

是否有可能在html中或我应该在我的VM上添加一个计算字段?

Dam*_*ien 53

如果我理解你,这就是你正在寻找的约束力.

 data-bind="text: isApproved, css: {
    'label' :  true,
    'label-success' :  isApproved(),
    'label-important':  !isApproved()
 }"
Run Code Online (Sandbox Code Playgroud)

我希望它有所帮助.

  • 谢谢,我没有注意带有 isApproved 属性的 () (2认同)

Arm*_*and 36

您也可以使用三元运算符.例如:

<span class="label" data-bind="text: isApproved, css: isApproved() == true ? 'label-success' : 'label-important'"></span>
Run Code Online (Sandbox Code Playgroud)