【发布时间】:2012-02-28 10:30:18
【问题描述】:
我正在尝试使用类似于 silverlight 中的数据表单的数据网格来创建数据表单功能。
我有一个 div 来显示从网格中选择的项目:
$('#readDate').attr('data-bind', 'text : selectedEntry.expenseDate');
$('#readDesc').attr('data-bind', 'text : selectedEntry.expenseDescription');
$('#readAmount').attr('data-bind', 'text : selectedEntry.expenseAmount');
在我的视图模型中,我有一个设置所选项目的功能:
this.setSelectedEntry = function (id) {
vm.selectedEntry = vm.data()[id];
}
选中的Item定义如下:
function ExpenseEntry(Id, expenseDate, expenseDescription, expenseAmount) {
this.Id = Id;
this.expenseDate = ko.observable(expenseDate);
this.expenseDescription = ko.observable(expenseDescription);
this.expenseAmount = ko.observable(expenseAmount);
}
但是,每当我更改 selectedEntry 对象时,UI 都不会更新。这是因为 UI 绑定到对象的成员而不是对象本身吗?如何直接绑定到 selectedEntry?
【问题讨论】:
标签: knockout.js