【问题标题】:using knockout to set css class with an if condition使用淘汰赛设置带有 if 条件的 css 类
【发布时间】:2013-07-31 23:23:24
【问题描述】:

我想将引导 css 类设置为带有 if 条件的跨度(直到绑定值)。 我在列表中有isApproved 字段,我想在其处于活动状态时查看具有“标签成功”类的字段,在其不活动时查看具有“标签重要”类的字段

我加了这行,但一直是第一节课

data-bind="
    text: isApproved,
    css: isApproved = 'true' ? 'label label-important' : 'label label-important'"

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

【问题讨论】:

  • 您可以添加您正在使用的代码吗? JS和HTML?最好在 jsfiddle 或其他东西中。

标签: knockout.js


【解决方案1】:

如果我理解正确,这就是您要查找的绑定。

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

希望对你有帮助。

【讨论】:

  • 谢谢,我没注意isApproved属性的()
【解决方案2】:

三元运算符示例

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

【讨论】:

  • 谢谢,我没注意isApproved属性的()
  • 这是一个更优雅的解决方案。恭喜。
  • 使用此解决方案的重要提示:在我的情况下,isApproved() 功能很昂贵,不应超过绝对必要的评估
  • 它会在运行时工作吗?喜欢播放/暂停按钮切换?
猜你喜欢
  • 2015-05-02
  • 1970-01-01
  • 1970-01-01
  • 2014-01-03
  • 2018-08-04
  • 1970-01-01
  • 2018-05-26
  • 2012-08-08
  • 1970-01-01
相关资源
最近更新 更多