我的控制器会返回如下数据:
{
"success":true,
"data":{
"35":{
"msg":{
"32":{
"module_id":"35",
"alert_id":"32",
"alert_datetime":"2012-11-28 16:19:19",
"param1_type":"imo",
"param1_value":"453465",
"param2_type":"",
"param2_value":"0",
"param3_type":"",
"param3_value":"0",
"msg":"triiiis dve",
"count":1
},
"33":{
"module_id":"35",
"alert_id":"33",
"alert_datetime":"2012-10-28 00:00:00",
"param1_type":"imo",
"param1_value":"54984",
"param2_type":"",
"param2_value":"0",
"param3_type":"",
"param3_value":"0",
"msg":"triis tri",
"count":1
}
}
},
"42":{
"msg":{
"1":{
"module_id":"42",
"alert_id":"1",
"alert_datetime":"2012-10-28 16:19:19",
"param1_type":"imo",
"param1_value":"9281906",
"param2_type":"",
"param2_value":"0",
"param3_type":"",
"param3_value":"0",
"msg":"",
"count":1
}
}
},
"39":{
"msg":{
"2":{
"module_id":"39",
"alert_id":"2",
"alert_datetime":"2012-10-28 12:36:31",
"param1_type":"imo",
"param1_value":"65464546",
"param2_type":"",
"param2_value":"0",
"param3_type":"",
"param3_value":"0",
"msg":"",
"count":1
}
}
}
}
}
之后我这样做
that.tpl.overwrite(that.el, Ext.decode(response).data);
问题是我无法遍历结果对象键...我知道如何使用预定义的键名循环对象,但我的动态生成... 非常感谢一些帮助,谢谢!
答案 0 :(得分:1)
我假设您已经了解了嵌套的深度(在这种情况下,"数据"元素下面有4个级别):
您可以使用Ext.Object.each循环访问数据(可能还有一些查询方法,也不确定),循环遍历每个元素的子项。如果您使用Ext.data.Model实例,则可以使用Ext.data.association链接循环访问数据。
在这种情况下,您可以为每个级别创建一个不同的模板,并将每个模板的结果插入上面级别的模板中。
这听起来比我想象的要困难。
模板中的foreach目前确实只适用于支持订阅者。