Checkbox 当布尔值为false时启用Knockout js:Bind复选框

Checkbox 当布尔值为false时启用Knockout js:Bind复选框,checkbox,knockout.js,Checkbox,Knockout.js,我的每一个元素都是可捕获的,并且是重要的。如果IsDefault=true,则应禁用该复选框 当我这么做的时候,它会起作用,除了我想要“启用”的反效果: 我试过: <input type="checkbox" data-bind="checked: IsEnabled, enable: !IsDefault" /> <input type="checkbox" data-bind="checked: IsEnabled, enable: IsDefault == 'fals

我的每一个元素都是可捕获的,并且是重要的。如果IsDefault=true,则应禁用该复选框

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


我试过:

<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'" />


但还是没有运气

我建议您阅读以下文章: 文章引述:

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

因此,在表达式中使用它们时,应将
()
添加到observable:

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

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