我正在从我的导航视图(xtype:'mainPanel')中推送一个视图。它是tabbar的一个元素。在第二个视图中,导航栏中显示back
按钮,但它不起作用。有什么想法吗?
itemtap: function(list, index, target, record) {
list.up('mainPanel').push({
xtype: 'newview',
title: 'New',
data: record.data
});
}
Main.js
Ext.define('Proj.view.Main', {
extend: 'Ext.tab.Panel',
xtype: 'main',
requires: [
'Ext.TitleBar','Proj.view.phone.Mainpanel','Proj.view.phone.Home',''
],
config: {
tabBar: {
docked: 'bottom',
layout: {
pack: 'center'
}
},
items: [
{
xtype: 'homePanel'
},
{
xtype: 'mainpanel'
},
]
}
});
Mainpanel.js
Ext.define('Proj.view.phone.MainPanel', {
extend: 'Ext.navigation.View',
xtype: 'mainpanel',
requires : [
'],
initialize:function(){
this.getNavigationBar().add(stuff);
Ext.getCmp('categoryList').setData(jsonObject.info);
},
config: {
title : 'Shop',
iconCls: 'favorites',
styleHtmlContent: true,
scrollable: true,
items: [
{
xtype: 'list',
fullscreen: true,
itemTpl: '{name}',
autoLoad: true,
id:'categoryList',
store: {
fields :['active', 'created','description']
},
listeners: {
itemtap: function(list, index, target, record) {
list.up('mainpanel').push({
xtype: 'newview',
title: 'newview',
data: record.data
});
}
}
}
]
},
答案 0 :(得分:5)
尝试使用以下代码覆盖后退按钮事件::
extend:'Ext.navigation.View',
xtype:'myNavigation',
config:{
……
},
onBackButtonTap:function(){
this.callParent(arguments);
alert('back button pressed');
}
看看是否有效。如果确实如此,那么你就会知道你正在处理错误的后退事件,并且推送不起作用。如果它没有抛出警报,那么监听器就不起作用了。尝试使用控制器方法以编程方式调用后退事件,并查看是否可以使用
答案 1 :(得分:1)
我以前遇到过这个问题。在所有视图中创建初始化函数。在其中添加此代码。
this.callParent(arguments);