我使用按钮在标签之间移动。但为此,我必须记住用户的标签位置。因此,当用户离开屏幕并稍后返回时,我的按钮会继续工作。
tabchange事件应该是用于该事件的事件,但是我无法触发它。
查看:
Ext.define('MyApp1.view.Home',
{
extend: 'Ext.form.Panel',
requires:
[
'Ext.tab.Panel'
],
xtype: 'home',
config:
{
itemId: 'home',
layout: 'fit',
items:
{
xtype: 'tabpanel',
tabBarPosition: 'top',
height: 500,
renderTo: document.body,
listeners:
{
beforetabchange: function (tabs, newTab, oldTab)
{
console.log('tab is going to change');
},
tabchange: function ()
{
console.log('recorded tab change from listener');
},
change: function ()
{
console.log('change of tab from listener');
}
},
items:
[
{
title: 'one'
},
{
title: 'two'
}
]
}
}
});
控制器:
Ext.define('MyApp1.controller.HomeController',
{
extend: 'Ext.app.Controller',
requires:
[
'MyApp1.view.Main'
],
config:
{
refs:
{
home: 'home'
},
control:
{
home:
{
beforetabchange: 'onTabChange',
tabchange: 'onTabChange',
change: 'onTabChange'
}
}
},
init: function()
{
console.log('HomeController initialized');
},
onTabChange: function ()
{
console.log('active tab changed');
}
});
所以当我点击标签按钮时,我会在日志中看到初始化文本,但没有任何标签更改事件。
答案 0 :(得分:0)
原来我正在查看ExtJs 5文档,而不是Sencha 2.4.1文档...... 其中只有“活跃的变化”。事件
答案 1 :(得分:0)
首先,您似乎只能在tabBar
tabPanel
上实现这些侦听器
仔细阅读了源代码,尽管它已被记录,但它似乎永远不会被解雇。 http://docs-origin.sencha.com/touch/2.4/2.4.1-apidocs/source/Bar3.html#Ext-tab-Bar-event-tabchange
我建议的是,当您指示挂钩面板上的activeitemchange
事件或activetabchange
(奇怪的是两次触发)事件tabbar
为{{{ 1}}似乎也没有按预期工作。