在列表中选择图片时获取列表项的商店记录

时间:2012-12-15 20:56:05

标签: javascript sencha-touch sencha-touch-2

所以我有一个论坛格式的帖子列表,现在我希望能够在点击用户的头像图像时访问商店帖子的posterID属性。我已经为图像附加了一个选择监听器,但我不确定如何访问图像的父存储。我试过查看sencha的文档,搜索失败了。

store: 'topicStore',
itemTpl:
    '<div class="post">' +
        '<div class="header">' +
            '<img id="avatar" src="{avatar}" width=48 height=48>' +
            '<h2>{displayName}</h2>' +
            '<div class="date">on {postDate:date("m/d/Y")}</div>' +
        '</div>' +
        '<div class="body">' +
            '{message}' +
        '</div>' +
        '<tpl if="signature">' +
            '<hr />' +

            '<div class="signature">' +
            '{signature}' +
            '</div>' +
        '</tpl>' +
        '</div>',
    listeners: {
      select: function() { return false;},
        tap: {
            fn: function(event, el, record){
                tempElement = el.src;
                if (el.id != 'avatar'){
                    tempElement = tempElement.replace('_th.jpg', '_mid.jpg');
                    var logo = Ext.create( 'Ext.Img', {
                        src: tempElement,
                        id: 'logo',
                        mode: 'element'
                    });
                    app.fireEvent('forum-onimgview',logo);
                }
                else if (el.id == 'avatar'){
                    console.log(record);
                }
            },
            element: 'element',
            delegate: 'img'
        }
    }

有谁知道如何获取所选项目的父商店?在侦听器上返回的所有get都是image和dom元素。提前谢谢!

1 个答案:

答案 0 :(得分:1)

尝试使用itemTap监听器,它将为您提供对列表的引用。

我这样用:

listeners: {
        itemtap: function (list, index, element, record)
        {
            /* Put your logic here*/
        }
}

可在此处找到更多详细信息:http://docs.sencha.com/touch/2-1/#!/api/Ext.dataview.DataView-event-itemtap