我在Sencha Touch 2中有一个控制器和一个TabPanel,我想在TabPanel上点击一个元素时调用一个函数:
TabPanel.js
Ext.define('app.view.principalTabPanel', {
extend: 'Ext.tab.Panel',
alias: 'widget.ptabpanel',
config: {
ui: 'light',
items: [
{
xtype: 'container',
itemId: 'idContnr',
title: 'tap Me!',
iconCls: 'bookmarks'
}
],
tabBar: {
docked: 'bottom',
ui: 'light'
}
}
});
controller.js
Ext.define('app.controller.mainController', {
extend: 'Ext.app.Controller',
config: {
control: {
"ptabpanel #idContnr": {
tap: 'takePhoto'
}
}
},
takePhoto: function() {
console.log('toma foto!'); // Not Working :(
}
});
答案 0 :(得分:2)
您应该在tabpanel上听取'activeitemchange',而不是在标签上收听'tap'事件。 见http://docs.sencha.com/touch/2-0/#!/api/Ext.tab.Panel-event-activeitemchange
答案 1 :(得分:1)
在监听/查询Sencha“ext-tab-2”生成的html-id时有效。
for Instance:
config: {
control: {
"ptabpanel #ext-tab-2": {
tap: 'onButtonTap'
}
}
},
但现在的问题是如何更改Sencha Touch 2生成的“ext-tab-2”名称
@Borck:谢谢!
答案 2 :(得分:0)
您可以通过将此配置添加到选项卡面板来为标签栏按钮指定ID:
tabBar: {
id: 'myTabBar',
items:[
{
id: 'myFirstTab'
},
{
id: 'mySecondTab'
},
...
]
}