Sencha touch 2 点击TabPanel时如何调用控制器上的函数?森查触摸2
我在Sencha Touch 2中有一个控制器和一个TabPanel,我想在TabPanel上点击一个元素时调用一个函数: TabPanel.jsSencha touch 2 点击TabPanel时如何调用控制器上的函数?森查触摸2,sencha-touch-2,listener,tabpanel,Sencha Touch 2,Listener,Tabpanel,我在Sencha Touch 2中有一个控制器和一个TabPanel,我想在TabPanel上点击一个元素时调用一个函数: TabPanel.js Ext.define('app.view.principalTabPanel', { extend: 'Ext.tab.Panel', alias: 'widget.ptabpanel', config: { ui: 'light', items: [ {
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 :(
}
});
您不应该听选项卡上的“点击”事件,而应该听选项卡面板本身上的“activeitemchange”。
请参见它在侦听/查询Sencha“ext-tab-2”生成的html id时起作用 例如:
config: {
control: {
"ptabpanel #ext-tab-2": {
tap: 'onButtonTap'
}
}
},
但现在的问题是如何更改Sencha Touch 2生成的“ext-tab-2”名称
@博克:谢谢 通过将此配置添加到选项卡面板,可以为选项卡栏按钮分配ID:
tabBar: {
id: 'myTabBar',
items:[
{
id: 'myFirstTab'
},
{
id: 'mySecondTab'
},
...
]
}
谢谢那么为什么我可以使用生成的sencha id:#ext-tab-2执行此操作呢?我不仅想听到“更改”操作,还想再次单击同一选项卡。我能做什么@这也解决了我的问题。即使选择了一个选项卡,这也有助于创建点击事件。myFirstTab和mySecondTab将是面板的ID,而不是按钮。这样,您就可以在控制器中显示或隐藏事件。