【发布时间】:2013-12-17 22:52:28
【问题描述】:
我正在尝试在 Knockout 中实现可观察数组的可更新“选定项”,以便选定项属性的更改传播回列表。
在下面的示例中,我的模型包含一个可观察数组中的用户列表,每个用户都有一个可观察的“名称”属性。该模型还有一个selectedUser 属性,它引用列表中的用户。
我有一个输入控件绑定到所选用户的name() 值。我希望能够更改输入中的名称,并看到更改传播到下面的列表。
JS:
var UserModel = function() {
this.users = ko.observableArray([
{id:1, name:ko.observable('Bob')},
{id:2, name:ko.observable('Jane')}
]);
this.selectedUser = ko.observable(this.users()[0]);
console.log(this.users()[0].name());
}
ko.applyBindings(UserModel);
HTML:
<input type="text" data-bind="value: selectedUser().name()" value="">
<table data-bind="foreach: users()">
<tr >
<td data-bind="text: $data.name()"> </td>
</tr>
</table>
【问题讨论】: