7

当我使用以下命令构建我的 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'
        ]
    }
});

任何帮助表示赞赏

祝大家编码愉快

4

2 回答 2

4

我有同样的问题,命令生成器不允许打开到本地存储的连接,所以它崩溃了。

您应该可以在Ext.getStore('Members').setAutoLoad(true); launch: function () {设置app.js

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

于 2012-04-26T06:24:06.800 回答
0

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

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

在我的情况下,商店'Notes'不存在。

于 2012-05-22T09:12:40.847 回答