我已经完成了我的第一个应用程序使用感应器触摸2.2.1。现在我把它上传到我的服务器上,并试图用我的手机访问它。一切都很好。我的仪表板包含6个按钮,但其中只有一个在工作。彼此抛出以下错误
TypeError:“未定义”不是一个对象(计算'name.substring')
错误发生在函数parseNamespace中。但我不知道是怎么回事。我使用Sencha架构师构建了这个应用程序,在预览中一切都很好。测试包是使用架构师的build按钮创建的。如果有人能帮我的话,这个应用程序就在这里:app.ttv-rees-groin.de
非常感谢
发布于 2013-12-23 08:56:49
这可能是类加载的问题。在发生按钮事件时引用的类可能不会在此时加载。
在打包应用程序时,可能会错过这些类。
发布于 2014-02-14 06:32:53
我的经验发现,架构师的构建和包工具造成了大量不必要的文件,远远超出了所需的范围。技术细节: Architect 2- all builds,Sencha Touch 2.0-2.2.x,包括中间的所有版本,Sencha Cmd 3.x
在架构师中开发的最干净和最精简的构建技术是使用Sencha Cmd保存然后启动构建。
sencha app build这将执行默认的“生产”生成。
在这种情况下,输出的差异是从包含所有资源、库、扩展名等的生产文件夹中的32 as文件转储到总计0.8MB的最低要求文件,并且不再需要触摸库,因为只需要将所需的类编译到应用程序中。
至于手头的错误,此错误与类命名空间、别名和xtype有关。
(快速感谢http://ruidevnotes.wordpress.com/2013/07/25/sencha-ext-js-4-common-typeerror/,为检查这4件事情节省了相当多的打字时间)。
可能的解决办法:
最重要的是,我记得列表插件的一个问题,我认为它的行为与您遇到的错误相同。预建-会有用的。发布生成、问题和错误。我能够避免这个错误的方法是通过这样的技术:
requires: [
    'Ext.XTemplate',
    'Ext.plugin.ListPaging'
],
config: {
    ..., // other standard configs removed for brevity
    plugins: [
        {
            xclass: 'Ext.plugin.ListPaging',
            autoPaging: true,
            type: 'listpaging'
        }
    ]
}需要注意的是夸张的插件声明。如果没有这个全面的声明,ListPaging插件就会造成各种痛苦和混乱,而且仅仅是在构建之后。
编辑:拼写。
https://stackoverflow.com/questions/18723319
复制相似问题