构建Sencha Touch 2应用程序时出错

时间:2012-04-26 04:41:56

标签: javascript list load sencha-touch sencha-touch-2

当我使用以下命令构建我的sencha touch 2应用程序时: -   sencha app build production

但它会引发错误:

[INFO] Deploying your application to /Applications/MAMP/htdocs/iPadapp/build/production
[INFO] Copied sdk/sencha-touch.js
[INFO] Copied app.js
[INFO] Copied resources/css/app.css
[INFO] Copied resources/images
[INFO] Copied resources/icons
[INFO] Copied resources/loading
[INFO] Resolving your application dependencies...
[ERROR] Error thown from your application with message: TypeError: 'undefined' is not an object

我在代码中跟踪了错误。我发现,这是由于加载我的清单。这是我的代码

Ext.define("myProject.store.Members",{
    extend  :'Ext.data.Store',
    requires:"Ext.data.proxy.LocalStorage",
    config: {
        model   :"myProject.model.Member",
        sorters :'lastName',
        autoload:true,

        proxy: {
            type: 'localstorage',
            id  : 'mainStore'
        } 
    }
});

如果我删除行'autoLoad:true'(这会破坏我的应用程序,那么我可以构建应用程序。但我的列表没有加载。如果我把它重新发送错误重复。我尝试动态加载列表加载功能,但它没有任何意义。

这是我正在使用的model.js文件。

Ext.define('myProject.model.Member', {
    extend: 'Ext.data.Model',
    config: {
        fields: [
            'index',                 
            'email',
            'firstname',
            'lastname',
            'phone',
            'currentemployer',
            'currenttitle',
            'interestlevel',
            'tcgroupNames',
            'active',
            'lastlogin',
            'usertypedesc',
            'recruiternotes',
            'recruitercontact',
            'addtype',
            'usertypedesc',
            'jobtitle',
            'ipAddress',
            'recruitersource',
            'agentkeywords',
            { name: "created", type: 'date' },
            'recruiterprofileurl_linkedin',
            'recruiterprofileurl_facebook'
        ]
    }
});

感谢任何帮助

快乐编码所有

2 个答案:

答案 0 :(得分:4)

我遇到同样的问题,不允许命令构建器打开与localstorage的连接,因此崩溃了。

您应该可以在Ext.getStore('Members').setAutoLoad(true);的{​​{1}}中设置 launch: function () {

然后您的应用将构建并仍应将数据加载到商店中。

答案 1 :(得分:0)

请注意,使用Chrome开发者工具比使用Firebug更好地跟踪错误, 因为在Firebug的控制台中,它在控制台上没有显示异常 Chrome开发者工具中显示了未捕获的异常:

Ext.getStore("Notes").load();

我的案例中不存在商店'Notes'。