Ext.XTemplate 循环通过对象



我的控制器返回如下数据:

{
   "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);

问题是我无法循环访问结果对象键...我知道如何使用预定义的键名遍历对象,但我的对象是动态生成的......
将不胜感激,谢谢!

我假设您对嵌套的深度有所了解(在本例中为"data"元素下方 4 级):

您可以使用 Ext.Object.each 遍历数据(也许也有一些查询方法,不确定),也遍历每个元素的子元素。如果使用 Ext.data.Model 实例,则可以使用 Ext.data.association 链接遍历数据。

在这种情况下,您可以为每个级别创建一个不同的模板,并将每个模板的结果插入到上一级的模板中。

这听起来比我实际认为的要困难得多。

Foreach in 模板目前确实仅适用于支持订阅者。

最新更新