0

我正在尝试使用 Sencha Touch 2 并遇到了 NavigationView 的问题,因为它不起作用......每次我尝试推送视图时都会收到错误Uncaught TypeError: Cannot call method 'apply' of undefined,我不知道为什么......

如果我在导航视图的配置部分初始化第一个视图,它工作正常,但如果我尝试将完全相同的视图推送到 NavigationView 中,我会收到错误...

这是我的视图和控制器的一些代码:

控制器:

Ext.define('svmobile.controller.MyController', {
    extend: 'Ext.app.Controller',
    alias: 'widget.mycontroller',

    config: {
        refs: {
            mainView:   'main',
        }
    },

    launch: function() {
        this.callParent(arguments);
        Ext.Viewport.add(Ext.create('svmobile.view.Main'));
        this.getMainView().getNavigationBar().add(
            {
                xtype: 'navbutton',
                align: 'right'
            }
        );

        this.getMainView().push(       //This is not working
            {
                xtype: 'hostspie'
            }
        );
    },
...

导航视图:

Ext.define('svmobile.view.Main', {
    extend: 'Ext.navigation.View',
    xtype: 'main',
    alias: 'widget.main',

    config: {
        items: {               //This way it works
            xtype: 'hostspie'
        }
    }
});

要推送的视图:

Ext.define('modules.nagios.view.HostsPie', {
    extend: 'Ext.Panel',
    alias: 'widget.hostspie',

    requires: [
        ...
    ],

    config: {
        layout: 'fit',
        title: 'Dashboard',

        items: [
            {
                xtype: 'polar',
                ...
            }
        ]
    }
});

任何想法为什么它不能正常工作?

4

2 回答 2

0

感谢您的建议。最后我得到了它。是按钮的实现导致了问题。现在可以了,谢谢!

于 2013-02-20T20:58:41.170 回答
0

您是否尝试定义

Ext.define('modules.nagios.view.HostsPie', {
extend: 'Ext.Panel',
alias: 'widget.hostspie',

xtype: 'hostspie',

?

于 2012-12-23T10:14:57.803 回答