所以我有一个论坛格式的帖子列表,现在我希望能够在点击用户的头像图像时访问商店帖子的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元素。提前谢谢!
答案 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