ExtJS 3.3.1 - 如何在Ext.Template中获取数组中的每个元素

时间:2012-03-28 08:24:49

标签: extjs

我是ExtJS的新手,并尝试将此示例用作我的代码的基础: grid_binding

我有一个perl * .pm文件来处理我的后端功能。

我写了一个我自己的函数,在行选择上调用,使用我的* .pm来检索信息并覆盖detailPanel,如下所示:

var getInfo = function(id){
var conn = new Ext.data.Connection();
conn.request({
    url: request_url,
    params: {
        _state: request_state,
        _action: 'get_id_info',
        id: id
    },
    callback: function(options, success, response){
        var responseHash = Ext.decode(response.responseText);
        var detailPanel = Ext.getCmp('detailPanel');
        myTpl.overwrite(detailPanel.body, responseHash);
    }

});
};

我的responseHash包含几个键,其中一些键的值是一个数组。

目前我的detailPanel看起来像这样:

// define a template to use for the detail view
var myTplMarkup = [
    "values related to this key_name: {key_name}"
];
var myTpl = new Ext.Template(myTplMarkup);

这将在详细视图中打印与逗号分隔的该键相关的值。

现在,我想分别访问每个值并将其合并到一个链接中(并在详细视图中显示该链接)。

我该怎么做?

感谢!!!

1 个答案:

答案 0 :(得分:0)

我将Ext.Template更改为Ext.XTemplate并使用此示例访问数组中的每个项目并生成一个超链接:

generate_hyperlink

我发现XTemplate上的Ext文档非常有用。

所以现在我的代码看起来像这样:

// define a template to use for the detail view
var myTpl = new Ext.XTemplate(
    '<p>item(s) related to this id:',
        '<tpl for="key_name">',
        '<p><a href="---url_template---{.}" target="_blank">{.}</a></p>',
        '</tpl></p>'
);