我有一个非常简单的应用程序:http ://www.senchafiddle.com/#AREBJ 。它由一个显示一些链接的视图组成。单击它们中的每一个后,会出现一个带有目标值的弹出窗口。在构建应用程序之前一切正常,但在构建后链接根本不显示。为了显示链接,我使用了 DataView 组件。以前我尝试过使用 Ext.Component 来解决它,但不知道为什么在点击任何项目时没有触发事件(以及“绘制”事件)。这是我更喜欢使用的 IconsScreen 视图的第二个版本,但没有事件它是无用的:
Ext.define('SF.view.IconsScreen', {
extend: 'Ext.Component',
xtype: 'icons-screen',
require: [
'SF.store.MainMenu'
],
config: {
tpl: new Ext.XTemplate('<ul class="menu-icons-list">',
'<tpl for=".">',
'<li class="icon">',
'<a target="{url}" style="background: url({icon})">',
'</a>',
'<span class="icon-text">{name}</span>',
'</li>',
'</tpl>',
'</ul>'
),
store : Ext.create('SF.store.MainMenu'),
data : [],
listeners : {
painted : function(){
this.onIconTap();
}
}
},
initialize : function() {
var storeData = this.getStore().getRange(),
tplData = [];
Ext.Array.each(storeData, function(item){
tplData.push(item.getData());
});
this.setData(tplData);
this.element.on({
scope : this,
delegate : 'a',
tap : 'onIconTap'
});
this.callParent();
},
onIconTap : function(e, t) {
this.fireEvent('icontap', e, t);
}
});
我还附上了一个可构建的版本:https ://mega.co.nz/#!kEZiCTQT!ckFxSQz0qMScpIX1UvfZGxa0qeQfM9MVy8hynjdPHQ8