我是kendo ui和mvvm的新手,我正面临这个问题:
我有以下格式的JSON文件:
[
{
"Id":1,
"img":"shoes.png"},
{"Id":2,
"img":"books.png"}
}
]
我正在使用剑道人在线提到的样本阅读文件,如下所示:
var crudServiceBaseUrl = "pro.json";
var viewModel = kendo.observable({
productsSource: new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl,
dataType: "json"
},
update: {
url: crudServiceBaseUrl,
dataType: "json"
},
destroy: {
url: crudServiceBaseUrl,
dataType: "json"
},
parameterMap: function(options, operation) {
if (operation !== "read" && options.models) {
return {
models: kendo.stringify(options.models)
};
}
return options;
}
},
batch: true,
schema: {
model: {
id: "Id"
}
}
})
});
kendo.bind($("#form-container"), viewModel);
我能够将数据源中的数据绑定到Kendo Control,例如下拉列表或其他一些Kendo Control。但是当我尝试将数据绑定到HTML控件(主要是img标签)时。它停止工作并发出错误说“this.parent”不是函数。
以下是有效的HTML:
Select Product: <select data-role="dropdownlist" data-value-field="Id" data-text-field="img"
data-bind="source: productsSource"></select>
但是,绑定到普通<img>
标记不起作用。简而言之,我需要使用kendo ui mvvm将基于src值的图像绑定到div。
请帮助我。谢谢!!
- Hardik
答案 0 :(得分:0)
目前,Kendo MVVM无法将数据源绑定到HTML元素。只有Kendo UI小部件可以绑定到kendo.data.DataSource
。使用小部件,例如ListView适用于DIV
:
<div data-role="listview"
data-template="template"
data-bind="source: productsSource">
</div>
<script id="template" type="text/x-kendo-template">
<img data-bind="attr: { src: img }" />
</script>