Sencha Touch测试版本无法正常工作

时间:2013-09-10 15:41:19

标签: sencha-touch-2

我使用sencha touch 2.2.1完成了我的第一个应用程序。现在我将它上传到我的服务器上并试图用我的手机访问它。一切都很好。我的仪表板包含6个按钮,但只有1个按钮正常工作。彼此抛出以下错误

  

TypeError:'undefined'不是对象(评估'name.substring')

函数parseNamespace中发生错误。但我不知道出了什么问题。我使用Sencha Architect构建应用程序,在预览中一切都很好。测试包是使用架构师的构建按钮创建的。如果有人可以帮助我,该应用程序位于此处:app.ttv-rees-groin.de

非常感谢

2 个答案:

答案 0 :(得分:0)

这可能是课程加载的问题。在按钮事件发生时引用的类可能当时不会被加载。

打包申请时可能会错过这些课程。

答案 1 :(得分:0)

我的经验发现,Architect的构建和包工具创建了大量不必要的文件,远远超出了要求。技术细节:架构师2 - 所有版本,Sencha Touch 2.0-2.2.x,包括其间的所有版本,Sencha Cmd 3.x

在Architect中开发的最干净,最精简的构建技术是使用Sencha Cmd来保存构建。

sencha app build

执行默认的“生产”构建。

在这种情况下,输出的差异从生产文件夹中的32MB转储文件(包括所有资源,库,扩展等)到最小所需文件总计0.8MB,并且不再需要触摸库作为仅类需要编译到应用程序中。

至于手头的错误,这个错误与类名称空间,别名和xtype有关。

(快感谢http://ruidevnotes.wordpress.com/2013/07/25/sencha-ext-js-4-common-typeerror/,为这四件事做了大量的输入,以便检查。)

可能的解决方案:

  1. 如果类具有控制器,请确保控制器的视图配置与类视图的Ext.define中指定的命名空间匹配。示例:(控制器) views:['namespace.of.my.View']
  2. 将其他视图上的类用作xtype时,请确保视图的别名为 窗口小部件。[customXtype] 因此,当将其作为项目添加到其他视图时,请使用 xtype:[customXtype]
  3. 确保在app.js控制器上添加了视图的控制器。
  4. 当类视图没有控制器并且您想在其他视图上使用它时,请确保添加该视图的命名空间 Ext.require([ 'class.view.namespace.name']); 并指定xtype配置而不是别名。
  5. 除了这些要点之外,我还记得列表插件的一个问题,我认为这与您遇到的错误相同。预建 - 会起作用。发布后,问题和错误。我能够解决这个错误的方法是通过这种技术:

    requires: [
        'Ext.XTemplate',
        'Ext.plugin.ListPaging'
    ],
    
    config: {
        ..., // other standard configs removed for brevity
        plugins: [
            {
                xclass: 'Ext.plugin.ListPaging',
                autoPaging: true,
                type: 'listpaging'
            }
        ]
    }
    

    需要注意的是夸张的插件声明。如果没有这个全面的声明,ListPaging插件会引起各种各样的痛苦和混乱,并且仅仅是在构建之后。

    编辑:拼写。