私は配列内のオブザーバブルにバインドしていますが、バインディングはモデルから初めて値を読み取るときにのみ有効になるようです。その後、オブザーバブルにバインドされた入力に変更を加えても、モデルは更新されません。
JSFiddle はhttp://jsfiddle.net/coverbeck/hK49f/88/にあります。HTMLは次のとおりです。
<div>
<input data-bind="value: work"/>
<span data-bind="text: work"></span>
</div>
<!-- ko foreach: nowork -->
<div>
<input data-bind="value: $data"/>
<span data-bind="text: $data"></span>
</div>
<!-- /ko -->
そして JavaScript:
var viewModel = {
work: ko.observable('Change me and span changes'),
nowork : [ko.observable("Change me and span doesn't update")]
}
ko.applyBindings(viewModel);
最初の入力に何かを入力すると、オブザーバブルにバインドされているスパンが更新されます。2 番目の入力に何かを入力すると、配列内のオブザーバブルにバインドされているスパンは更新されません。しかし、その入力とスパンは正しく開始されます。
「nowork」を単純な配列の代わりに ko.observableArray にしても、違いはありません (期待もしないでしょう)。
明らかな何かが欠けているように感じますが、何がわかりません。何が起こっているのか誰にも分かりますか?
ありがとう、
チャールズ