在 Sencha Touch 2 中对选项卡更改发出 Ajax 请求
Make an Ajax request on tab change in Sencha Touch 2
我在 sencha touch 2.4 中工作,我想在指定的选项卡上使用选项卡 ID 发出 ajax 请求。
如何调用我的 ajax 函数,或者我只能通过点击标签 ID 指定的标签来获得请求?我正在使用 Ext.define
来定义我的包和应用程序视图。
我的代码:
config: {
tabBarPosition: 'bottom',
items: [
{
id: 'tab',
title: 'Home',
iconCls: 'home',
styleHtmlContent: true,
scrollable: true,
items: {
docked: 'top',
xtype: 'titlebar',
title: 'MyTab'
}
}
]
}
我的请求函数:
request: function() {
Ext.Ajax.request({
url: 'http://www.example.com'
method: 'GET',
callback: function(options, success, response) {
Ext.ComponentQuery.query('#id')[0].setHtml( response.responseText );
}
});
}
要检测选项卡何时被选中,您可以使用面板焦点事件监听该特定选项卡何时获得焦点,或者您可以监听选项卡面板上的 activeitemchanged
事件,该事件会随时触发选项卡被选中。下面的代码示例:
Ext.create('Ext.TabPanel', {
fullscreen: true,
tabBarPosition: 'bottom',
defaults: {
styleHtmlContent: true
},
items: [{
title: 'Home',
iconCls: 'home',
html: 'Home Screen'
}, {
title: 'Contact',
iconCls: 'user',
html: 'Contact Screen'
}],
listeners: {
activeitemchange: function() {
console.log('active item changed');
}
}
});
要实现这一点,您可以像我上面那样使用 Ext.create
,也可以使用 Ext.define
来定义组件并稍后使用 create 方法对其进行初始化。
我在 sencha touch 2.4 中工作,我想在指定的选项卡上使用选项卡 ID 发出 ajax 请求。
如何调用我的 ajax 函数,或者我只能通过点击标签 ID 指定的标签来获得请求?我正在使用 Ext.define
来定义我的包和应用程序视图。
我的代码:
config: {
tabBarPosition: 'bottom',
items: [
{
id: 'tab',
title: 'Home',
iconCls: 'home',
styleHtmlContent: true,
scrollable: true,
items: {
docked: 'top',
xtype: 'titlebar',
title: 'MyTab'
}
}
]
}
我的请求函数:
request: function() {
Ext.Ajax.request({
url: 'http://www.example.com'
method: 'GET',
callback: function(options, success, response) {
Ext.ComponentQuery.query('#id')[0].setHtml( response.responseText );
}
});
}
要检测选项卡何时被选中,您可以使用面板焦点事件监听该特定选项卡何时获得焦点,或者您可以监听选项卡面板上的 activeitemchanged
事件,该事件会随时触发选项卡被选中。下面的代码示例:
Ext.create('Ext.TabPanel', {
fullscreen: true,
tabBarPosition: 'bottom',
defaults: {
styleHtmlContent: true
},
items: [{
title: 'Home',
iconCls: 'home',
html: 'Home Screen'
}, {
title: 'Contact',
iconCls: 'user',
html: 'Contact Screen'
}],
listeners: {
activeitemchange: function() {
console.log('active item changed');
}
}
});
要实现这一点,您可以像我上面那样使用 Ext.create
,也可以使用 Ext.define
来定义组件并稍后使用 create 方法对其进行初始化。