Knockoutjs 可观察的布尔值返回奇怪的结果

Knockoutjs observable boolean returning strange results

本文关键字:结果 返回 布尔值 观察 Knockoutjs      更新时间:2023-09-26

在我的视图模型中,我定义了: 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)返回 false,而实际上myAreasEditMode是假的。

>因为myAreasEdit是一个函数和绑定(myAresEdit == false)正在检查函数是否等于false(这不是真的 - 一个函数!= false)而不是函数的值。

标记应为:

data-bind="text: (myAreasEditMode() == false)"