>我有一个列表视图,让我们这样说:
$("#items").kendoListView({
dataSource: itemsSource,
selectable: true,
...
change: function () {
var data = itemsSource.view(),
selected = $.map(this.select(), function (item) {
return data[$(item).index()];
});
}
});
然后,我有我的视图模型:
var viewModel = kendo.observable({
items: activitiesSource,
itemTitle: selected.Title,
itemDescription: "",
selectedItem: null,
...
hasChanges: false,
change: function () {
this.set("hasChanges", true);
}
});
我有我的 html 代码,让我们说:
<ul id="items" data-bind="source: items, value: selectedItem"></ul>
我希望,当我在 ListView 中选择某个项目时,能够在窗体中编辑所选项目。如果我执行以下操作,在列表视图更改事件中:
viewModel.set("selectedActivity", selected);
它不起作用。
这可能只是您一端的复制/粘贴错误,但您的行:
viewModel.set("selectedActivity", selected);
viewModel
没有属性selectedActivity
,而是命名为selectedItem
。
我假设还有另一个小部件或一组 html 控件绑定到此处未显示的viewModel.selectedItem
?