4

我正在像这样从我的导航视图(xtype:'mainPanel')推送一个视图。它是标签栏的一个元素。在第二个视图back中,导航栏中显示一个按钮,但它不起作用。任何想法?

itemtap: function(list, index, target, record) {


                                list.up('mainPanel').push({
                                    xtype: 'newview',
                                    title: 'New',
                                    data: record.data
                                });


}

主.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'
        },

    ]
}

});

主面板.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
                                    });

                                }
                            }
                        }
            ]
    },
4

2 回答 2

5

尝试使用以下代码覆盖后退按钮事件::

extend:'Ext.navigation.View',
xtype:'myNavigation',
config:{
    ……
},
onBackButtonTap:function(){
    this.callParent(arguments); 
    alert('back button pressed');
}

看看这是否有效。如果是这样,那么您将知道您正在处理错误的返回事件,并且推送不起作用。如果它没有抛出警报,那么监听器就没有工作。尝试使用控制器方法以编程方式调用 back 事件,看看是否可行

于 2013-03-26T19:15:48.060 回答
1

我以前遇到过这个问题。在所有视图中创建一个初始化函数。在其中添加此代码。

this.callParent(arguments); 
于 2013-04-01T12:56:44.287 回答