我有数据源数组,我想通过data-bind属性
进行绑定 <div data-role="listview"
data-template="template3"
data-bind="source: products"></div>
template3:
<script type="text/x-kendo-template" id="template3">
# for (var y = 0; y < data.length; y++) { #
<div data-role="listview"
data-template="template"
data-bind="source: data[y]"></div>
# } #
</script>
视图模型:
var viewModel = kendo.observable({
products: [new kendo.data.DataSource({
schema: {
model: {
id: "Id"
}
},
transport: {
read: {
url: "@Url.Action("Products", "Home")",
dataType: "json"
},
parameterMap: function(options, operation) {
if (operation !== "read" && options.models) {
return { models: kendo.stringify(options.models) };
}
}
}
})]
我得到错误:
未捕获的ReferenceError:y未定义
答案 0 :(得分:0)
为什么数据源周围有数组?
无论如何,您收到的具体错误是因为y
未在您尝试访问它的上下文中定义。
您需要更改模板:
# for (var y = 0; y < data.length; y++) { #
<div data-role="listview"
data-template="template"
data-bind="source: data.at(#=y#)"></div>
# } #