我认为在 KendoUI 中绑定和模板的工作方式存在一些误解。您正在绑定到 anObservableObject
但随后您将参数传递给模板。如果你这样做,绑定什么也不做,你应该在模板中使用类似的东西:
<script id="template" type="text/x-kendo-template">
More Data: <input value="#= moreData #"/>
</script>
但这不会更新模型中的数据。
我认为你应该做的是:
模板定义:
<script id="template" type="text/x-kendo-template">
More Data: <input data-bind="value: moreData"/>
</script>
<div>
元素为:
<div id="view"
data-role="list-view"
data-bind="source: array"
data-template="template">
</div>
最后初始化为:
var viewModel = kendo.observable({
"array": [
{ "moreData":"some string 1" },
{ "moreData":"some string 2" },
{ "moreData":"some string 3" }
],
"moreInfo":"string",
"someMore":22
});
kendo.bind($("#view"), viewModel);
您的 JSFiddle 在这里修改:http: //jsfiddle.net/OnaBai/m2sspoos/5/
还有一个可运行的代码片段:
var viewModel = kendo.observable({
"array": [
{ "moreData":"some string 1" },
{ "moreData":"some string 2" },
{ "moreData":"some string 3" }
],
"moreInfo":"string",
"someMore":22
});
kendo.bind($("#view"), viewModel);
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.common.min.css" />
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.default.min.css" />
<script src="http://cdn.kendostatic.com/2014.3.1119/js/jquery.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1119/js/kendo.all.min.js"></script>
<script id="template" type="text/x-kendo-template">
<div>
More Data: <input data-bind="value: moreData" />
</div>
</script>
<div id="view"
data-role="list-view"
data-bind="source: array"
data-template="template">
</div>