在我的viewmodel中,我定义了:
self.myAreasEditMode = ko.observable(false);
在我的HTML中,我有:
<div>
editing: <span data-bind="text: myAreasEditMode"></span><span data-bind="visible: myAreasEditMode">show me</span>
<br />
not editing (done): <span data-bind="text: (myAreasEditMode == false)"></span><span data-bind="visible: (myAreasEditMode == false)">show me</span>
</div>
输出是:
editing: false
not editing (done)?: false
Knockout是在操纵我的布尔值,还是真实性让我困惑?当(myAreasEditMode == false)
实际上是假的时候,我无法弄清楚为什么myAreasEditMode
返回false。
答案 0 :(得分:3)
因为myAreasEdit
是一个函数而绑定(myAresEdit == false)
正在检查Funciton是否等于false
(这不是真的 - 一个Funciton!= false)而不是值{功能。
标记应为:
data-bind="text: (myAreasEditMode() == false)"