2
KnockoutJSでは、双方向バインディングがforeachループの入力に対して機能しません。テキスト入力を変更しても、スパン値は変更されません。これは、foreachループを使用する場合にのみ問題と思われます。KnockoutJS foreachループでの双方向バインディング
<html>
<body>
<table>
<tbody data-bind="foreach: users">
<tr>
<td><span data-bind="text: firstName"></span></td>
<td><input data-bind="value: firstName" type="text"></span></td>
<td><span data-bind="text: lastName"></span></td>
<td><input data-bind="value: lastName" type="text"></td>
</tr>
</tbody>
</table>
<script src="js/libs/knockout-3.2.0.js"></script>
<script>
function User(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
function UserListViewModel() {
var self = this;
self.users = ko.observableArray([
new User("Joe", "Schmoe"),
new User("James", "Ronald")
]);
}
ko.applyBindings(new UserListViewModel());
</script>
</body>
</html>