これは私が今日遭遇したものであり、それが私が間違っていることなのか、それともノックアウトのバグなのか疑問に思っていました。
サーバーからの3つの異なるビューモデル状態があると想像してください。
State 1 = { AnObject: { WithString: "SomeText" } }
State 2 = { AnObject: null }
State 3 = { AnObject: { WithString: "DifferentText" } }
私がこれを行う場合:
<p data-bind="text: AnObject.WithString"></p>
適切なノックアウトバインディングを想定すると、その要素のテキストは「SomeText」、次に何も、次に「DifferentText」であり、3つの状態すべてでKOビューモデルが更新されます。
実際に発生するのは、最初の状態が正常に機能し(テキストが「SomeText」になる)、2番目の状態ではテキストが変更されず、3番目の状態でもテキストが変更されないため、バインディングが完全に失われたように見えることです。使用するのに良い値があります。
この問題を示すJSFiddleは次のとおりです。