1

私のビューモデルでは、次のように定義しました: 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 は私のブール値を操作していますか、それとも真実性が私を混乱させていますか? が実際にはfalse であるのに、なぜ(myAreasEditMode == false)false を返すのかわかりません。myAreasEditMode

4

1 に答える 1

3

myAreasEditは関数であり、バインディングは、関数の値ではなく、Funciton が (true ではない -- Funciton != false) と(myAresEdit == false)等しいかどうかをチェックしているためです。false

マークアップは次のようにする必要があります。

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

于 2012-05-03T05:01:13.987 に答える