Sencha touch 2 Sencha Touch:设置面板中的项目-xtype隐藏视图会导致未定义错误

Sencha touch 2 Sencha Touch:设置面板中的项目-xtype隐藏视图会导致未定义错误,sencha-touch-2,Sencha Touch 2,我正在用Sencha Touch 2.x构建一个应用程序。它由几个可能相互重叠的屏幕组成 在应用程序启动时,我通过将所有屏幕作为项目添加到主视图(视口的一部分)来加载它们。除了“开始”屏幕之外,所有这些都被隐藏:true,它工作得非常好。我创建了一个新视图,并尝试以与其他视图相同的方式添加它(实际上它是另一个视图的副本,只是更改了名称),但在应用程序启动时,我得到: TypeError:“undefined”不是对象(正在计算“firingFn.apply”) 当我删除hidden:true属性

我正在用Sencha Touch 2.x构建一个应用程序。它由几个可能相互重叠的屏幕组成

在应用程序启动时,我通过将所有屏幕作为项目添加到主视图(视口的一部分)来加载它们。除了“开始”屏幕之外,所有这些都被隐藏:true,它工作得非常好。我创建了一个新视图,并尝试以与其他视图相同的方式添加它(实际上它是另一个视图的副本,只是更改了名称),但在应用程序启动时,我得到:

TypeError:“undefined”不是对象(正在计算“firingFn.apply”)

当我删除hidden:true属性时,将显示视图并加载应用程序。当我使用Ext.create(namespace.view.name)创建视图时,它工作正常

其他视图(或多或少完全相同)正在工作

我给出了一个唯一的xtype,在Ext.define上指定了路径,并将视图添加到app.js。 正如我能够在没有“隐藏:真实”的情况下展示的那样,问题不应该在那里的某个地方

有人知道这种行为吗

(我知道建议在需要视图时创建和销毁视图,但目前我们采用的是不同的方法。因此,我感兴趣的是导致这种行为的原因。)

以下是我的主要观点:

Ext.define('namespace.view.Main', {
extend: 'Ext.Container',
xtype: 'Main',

config: {

    layout: 'hbox',     
    items: [
        //actual necessary screens
        {
            xtype: 'Start',
            showAnimation: {type:'fade', duration: 200, easing: 'easeInOut'}
        },

        //Preloading all Screens on startup 
        {
            xtype: 'SearchOertlichkeit',
            hidden: true
                             //this is the one causing trouble !
        },
        {
            xtype: 'MeldungNeu',
            hidden: true,
            showAnimation: {type:'fade', duration: 200, easing: 'easeInOut'}                
        },
        {
            xtype: 'MeldungenBearbeiten',
            hidden: true,
            showAnimation: {type:'fade', duration: 200, easing: 'easeInOut'}
        },
        {
            xtype: 'SearchLocation',
            hidden: true
        },
        {
            xtype: 'SearchMieteinheit',
            hidden: true
        },              
        {
            xtype: 'Menu',
            hidden: true    
        }        
    ]

} //endconfig 
}))

以下是我试图展示的视图的一部分:

Ext.define('namespace.view.SearchOertlichkeit', {
extend: 'Ext.Container',    
xtype: 'SearchOertlichkeit',

config: { 

    height: '100%',
    width: window.innerWidth-300,
    padding: 10,

    modal: true,
    hideOnMaskTap: true,

    top: 0,
    right: 0,
    bottom: 0,
    left: 'auto',

    enter:'right',
    exit: 'right',

    showAnimation: {
        type: 'slideIn',
        direction: 'left',
        easing: 'easeInOut'
    },

    hideAnimation: {
        type: 'slideOut',
        direction: 'right',
        easing: 'easeInOut'
    },

    items: [
        {               
            //here are some items           

        },          
    ],   

    listeners: {
        initialize: function(comp , eOpts){
            this.element.on('swipe', 
                function(event, node, options, eOpts) {
                    namespace.app.getController('Main').onSwipe(event.direction, 'searchOertlichkeit');
                }, comp
            ); //endonswipe
        } //endinitialize
    } //endlisteners
},   });
我找不到任何语法错误(使用Aptana,也不会显示任何错误),但当我为生产构建(sencha cmd运行成功)时,一旦我尝试运行prod应用程序,就会出现错误:

Error evaluating http://127.0.0.1:8020/path/production/app.js with message: SyntaxError:     Expected token '}'

检查主视图中的最后一行,括号中有注释:

} //endconfig });
应该是:

    } //endconfig 
});

啊,很抱歉搞混了,这只是因为stackoverflow上的代码格式,在我的项目中,最后一个括号在一个新行中。似乎有一些奇怪的事情正在发生。一旦我将视图的xtype和主视图中的xtype更改为其他内容,它就会工作。但是当我在控制器中更改引用时,它也崩溃了,所以我能够找到问题所在。通过xtype设置对整个视图的引用时,应用程序崩溃,尽管我已经对其他视图做了完全相同的操作:
searchLocationView:'SearchLocation',SearchMietInHeitView:'SearchMietInHeit',searchOertlichkeitView:'SearchOertlichkeit'