Sencha Touch 2 - 面板在构建后停止工作

时间:2013-06-14 06:59:50

标签: javascript sencha-touch-2

在Sencha Touch 2.2中使用Ext.Panel时遇到了一些麻烦。它首先起作用,但是在构建之后,虽然hideOnMaskTap为真,但它无法关闭。

这是我的代码:

MinPanel.js

Ext.define('MinimalPanelExample.view.MinPanel', {
    extend: 'Ext.Panel',

    requires: [
        'Ext.dataview.List'
    ],

    config: {
        id: 'minPanel',
        width: '320px',
        height: '480px',
        modal: true,
        hideOnMaskTap: true,

        html: 'minimal panel',

        items: [
            {
                xtype: 'list',
                width: '100%',
                height: '100%'
            }
        ]
    }
});

Main.js

中添加
var minPanel = Ext.create('MinimalPanelExample.view.MinPanel');

[...]
items: {
    docked: 'top',
    xtype: 'titlebar',
    title: 'Welcome to Sencha Touch 2',

    items: [
        {
            xtype: 'button',
            text: 'Button',
            listeners: {
                tap: function(button) {
                    minPanel.showBy(button);
                }
            }
        }
    ],
},

奇怪的是,如果我运行构建的包,面板内的列表甚至都不显示,它只显示html:'minimal panel'。但是,Javascript控制台中没有警告。

关于为什么会发生这种情况的任何想法? 另外,请随时告诉我,首先创建/访问面板的方式是否错误。

1 个答案:

答案 0 :(得分:0)

想出来。你不能只在主视图文件的顶部Ext.create,它必须在Ext.define块的某个地方。如果我在初始化侦听器中创建MinPanel,然后在用户按下按钮时通过Ext.getCmp('minPanel')获取它,它就可以工作。