如何使用数据源数组?

时间:2015-02-12 15:59:17

标签: kendo-ui kendo-datasource kendo-mvvm kendo-template

我有数据源数组,我想通过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未定义

1 个答案:

答案 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>
   # } #