是否可以使用Knockout的? 如果绑定 在多个布尔值上?
如
<div data-bind="if: (property.aTrueValue && property.anotherTrueValue)">...
我试过很多不同的语法,但似乎找不到合适的语法。
当Knockout处理你的绑定时,它首先会评估你的表达式。
如果表达式的结果是一个观测值,它就会方便地评估这个观测值,以获得if:工作的最终值。
所以下面两个工作方式是一样的
<div data-bind="if: foo"></div>
<div data-bind="if: foo()"></div>
一旦你离开了以观测值结尾的简单表达式的世界,你可能也想抛开糖,总是自己评估观测值(如果没有别的原因,为了理智)。
试试下面的例子
<div data-bind="if: (property.aTrueValue() && property.anotherTrueValue())">...
你可以--if 绑定只是取一个任意的表达式。当做更多的事情而不仅仅是像这样引用一个观测值时,你将需要实际调用观测值,就像这样。
<div data-bind="if: (property.aTrueValue() && property.anotherTrueValue())">...
下面是一个工作示例 jsfiddle.
目前的解决方案更像是这样。
<div data-bind="if: (prop() === true && prop2() === true)">...