也许我误解了 Kendo 的 MVVM 实现的概念,但是......我有一个简单的 Kendo UI Mobile view
,它是数据绑定到视图模型的:
var myViewModel = kendo.observable({
myEntity: null,
onViewShow: function (e) {
var bindingEntity = myStaticDataSource[0];
myViewModel.set("myEntity", bindingEntity);
}
});
myStaticDataSource
是作为简单 JavaScript 对象的“实体”的静态数组,具有类似name
or的字段description
。
视图及其输入字段绑定到视图模型:
<div data-role="view" data-layout="default" data-model="myViewModel" data-bind="events: { show: onViewShow }">
<form>
<ul data-role="listview" data-style="inset">
<li>
<label>
Name
<input type="text" data-bind="value: myEntity.name" />
</label>
</li>
</ul>
</form>
</div>
当用户更改输入字段时,name
数据绑定视图模型实体中的相应字段(例如)会更新myEntity
。但是:我所期望的是,实体myStaticDataSource
也会更新,因为我没有克隆对象。但事实并非如此!它的价值保持在原始价值上。为什么是这样?我错过了关于 Kendo 的 MVVM 处理的一些东西吗?