ビュー モデルに、配列の有効な値を false から true に変更する関数があります。
editclick: function (user) {
user.enabled = true;
return true;
}
変更を表示するアラートを設定した場合
user.enabled = true;
alert(ko.toJSON(user));
変更されたことを示していますが、バインド値は変更されていません。
変化の前にアラートを置くと
alert(ko.toJSON(user));
user.enabled = true;
ボタンを 2 回目にクリックすると、値が変更されたことを示すアラートが表示されます。
これが私のjsFiddleと私が使用するコードです。
[JS]
var myViewModel = {
myarray: ko.observableArray([{
myname: 'Bob',
mysurname: 'Smith',
enabled: false
}, {
myname: 'John',
mysurname: 'Smith',
enabled: false
}]),
editclick: function (user) {
user.enabled = true;
alert(ko.toJSON(user));
return true;
}
};
[コード]
<Table border="1" cellpadding="5" cellspacing="0">
<thead>
<tr>
<td>Button</td>
<td>Value</td>
</tr>
</thead>
<tbody data-bind="foreach: myarray">
<tr>
<td>
<input type="button" value="Change" data-bind="click: $root.editclick" />
</td>
<td><span data-bind="text: enabled" />
</td>
</tr>
</tbody>
</Table>
変更によってビューモデルが更新されないようです。これを機能させるために離れていますか。
ありがとう