1

如何让我的 ListView 循环遍历对象属性timetableRecords。我正在谷歌搜索,但找不到方法。

数据示例(swagger 响应模型架构):

{
  "from": {
    "name": "string"
  },
  "to": {
    "name": "string"
  },
  "price": 0,
  "date": "2016-07-25T11:52:52.674Z",
  "timetableRecords": [
    {
      "departure": "2016-07-25T11:52:52.675Z",
      "arrival": "2016-07-25T11:52:52.675Z"
    }
  ],
  "fetchedOn": "2016-07-25T11:52:52.675Z"
}

HTML:

<div id="timetableRecords"></div>

<script type="text/x-kendo-template" id="template">
    <div class="timetable-record">
        <p>#:departure#</p>
        <p>#:arrival#</p>
    </div>
</script>

JavaScript:

$('#timetableRecords').kendoListView({
    template: kendo.template($("#template").html()),
    dataSource: {
        transport: {
            read: {
                type: 'GET',
                url: 'api/timetable?from=station_name1&to=station_name2',
                dataType: 'json'
            }
        }
    }
});
4

1 回答 1

0

所以自从你发布这个已经有一段时间了,但我有一个解决方案给你(怀疑你仍然需要它)。

schema.parse() 事件可以帮助您:

在使用服务器响应之前执行。使用它来预处理或解析服务器响应。

这是您更新的数据源如下:

dataSource: {
  transport: {
    read: {
      type: 'GET',
      url: 'api/timetable?from=station_name1&to=station_name2',
      dataType: 'json'
    }
  },
  schema:
    parse: fucntion(e) {
      return e.timetableRecords
  }
}

这样,您的 DataSource 正在处理“timetableRecords”列表,并且您的模板将是有效的。

祝你好运,

授予

于 2016-12-22T12:09:15.107 回答