私は本当にシンプルなアプリを持っています: http://www.senchafiddle.com/#AREBJ . これは、いくつかのリンクを表示するビューで構成されています。それぞれをクリックすると、ターゲット値を含むポップアップが表示されます。アプリをビルドする前はすべて正常に動作しますが、ビルド後はリンクがまったく表示されません。リンクを表示するために、DataView コンポーネントを使用しています。以前、Ext.Component を使用して対処しようとしましたが、項目のいずれかがタップされたときに (および「ペイント」イベントも) イベントが発生しなかった理由がわかりません。これは、私が使用したい IconsScreen ビューの 2 番目のバージョンですが、イベントがなければ役に立ちません。
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