如果绑定多个布尔值,是否可以使用 Knockout ?
如
<div data-bind="if: (property.aTrueValue && property.anotherTrueValue)">...
我尝试了很多不同的语法,但似乎找不到正确的语法。我不确定这是否可能。
如果绑定多个布尔值,是否可以使用 Knockout ?
如
<div data-bind="if: (property.aTrueValue && property.anotherTrueValue)">...
我尝试了很多不同的语法,但似乎找不到正确的语法。我不确定这是否可能。
当 Knockout 处理您的绑定时,它首先评估您的表达式。
如果表达式产生一个 observable,它会评估 observable 以方便获取 if: 工作的最终值。
所以以下两个工作相同
<div data-bind="if: foo"></div>
<div data-bind="if: foo()"></div>
一旦你离开了以 observable 结尾的简单表达式的世界,你可能还想把糖抛在脑后,总是自己评估 observables(如果没有别的,为了理智)。
尝试以下
<div data-bind="if: (property.aTrueValue() && property.anotherTrueValue())">...
你可以 - if 绑定只需要一个任意表达式。当做的不仅仅是像这样引用 observable 的值时,你需要像这样实际调用 observable:
<div data-bind="if: (property.aTrueValue() && property.anotherTrueValue())">...
这是一个有效的jsfiddle。
当前的解决方案更像是这样:
<div data-bind="if: (prop() === true && prop2() === true)">...