KnockoutJS在foreach循环中双向绑定
问题描述:
在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>
答
只是让你User
性能observable
:
function User(firstName, lastName) {
this.firstName = ko.observable(firstName);
this.lastName = ko.observable(lastName);
}
观测是可以变更的有关通知用户特殊的JavaScript对象,并能自动检测依赖关系。