【发布时间】:2016-07-20 23:22:19
【问题描述】:
我在 Enyo 视图中放置了一个 AJAX GET 调用。 GET 调用一个 Web 服务,该服务返回一个记录数组,包括列标题。
我的目标是使用这个返回的数组动态构建一个表,其中为每个索引创建一行,为索引中的每个标题创建列。
我所知道的 Enyo 是通过将 AJAX 响应标头映射到组件字段来创建一条记录:
this.$.actionsTaken.setContent( inResponse.ActionsTaken);
但我不确定如何动态地执行此操作并动态创建表。
例如,当我检查 Web 服务响应时,我的索引 0 包含以下内容:(其中 ActionsTaken、Application 和 EM 是 col 标头。)
{
ActionsTaken: "Tested uptime"
Application: "2011 Hanko"
EM: "EM102 "
}
问题:
如何从 JSON 数组动态构建表?
AJAX GET:
fetch: function() {
var ajax = new enyo.Ajax({
url: "http://testservice.net/WebService/GetHistory",
async: false,
handleAs:"json",
xhrFields: {withCredentials: true}
});
ajax.go(this.data);
ajax.response(this, "gotResponse");
ajax.error(this, function(inSender, inError) {
Misc.hideMask();
ViewLibrary.back();
Misc.showToast("Error retrieving data");
});
},
gotResponse: function(inSender, inResponse)
{
var debugVar = inResponse;
this.$.actionsTaken.setContent( inResponse.ActionsTaken);
this.$.configurationItemLogicalName_value.setContent( inResponse.Application);
this.$.eM.setContent( inResponse.EM);
},
保存数据值的组件:
{name:"outage_table", kind: "FittableRows",components:[
{content: "Actions Taken", name: "actionsTaken", },
{content: "Application", name: "application", },
{content: "EM", name: "eM", },
]}
【问题讨论】:
标签: javascript cordova enyo