【问题标题】:Knockout js: Bind checkbox enable when boolean is falseKnockout js:当布尔值为假时绑定复选框启用
【发布时间】:2013-09-10 22:29:25
【问题描述】:

我的每个元素都有 IsAnabled 和 IsDeafult。如果 IsDefault = true,则应禁用该复选框。

当我这样做时,它会起作用,除了我想要“启用”的相反效果:

<input type="checkbox" data-bind="checked: IsEnabled, enable: IsDefault" />

我试过了:

<input type="checkbox" data-bind="checked: IsEnabled, enable: !IsDefault" />
<input type="checkbox" data-bind="checked: IsEnabled, enable: IsDefault == 'false'" />
<input type="checkbox" data-bind="checked: IsEnabled, enable: IsDefault != 'true'" />
<input type="checkbox" data-bind="checked: IsEnabled, enable: IsDefault != true" />
<input type="checkbox" data-bind="checked: IsEnabled, enable: IsDefault == '0'" />

但还是没有运气......

【问题讨论】:

    标签: checkbox knockout.js


    【解决方案1】:

    我建议您阅读以下文章:10 Things to Know About KnockoutJS 引用文章:

    大多数绑定会在传递的值上调用 ko.utils.unwrapObservable 给它,这将安全地返回 observables 和 不可观察的。但是,如果在绑定中使用可观察对象 表达式,那么您需要将其作为函数引用。同样,在 您通常需要将 observables 引用为函数的代码, 除非你真的想通过 observable 本身(不是 值)。

    所以在表达式中使用 () 时应该将它们添加到 observable 中:

    <input type="checkbox" data-bind="checked: IsEnabled, enable: !IsDefault()" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-01
      • 2013-12-09
      • 2023-03-16
      • 1970-01-01
      • 2015-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多