如何创建模型实例并加载它?

时间:2013-11-19 04:09:43

标签: javascript extjs extjs4.2

我对ExtJS比较陌生,而且我对我认为的核心概念感到困惑。在我的应用程序中,我想定义一个模型,创建一个实例并加载它。对于一个在网络上运行的例子,我看起来很高,但我很难过。

每次我尝试加载模型时,加载函数看起来都不存在。我在控制台中遇到的错误是“TypeError:timezoneDetails.load不是函数”。

以下是我用来试图说明这一点的代码:

Ext.define('App.model.Model', {
    extend: 'Ext.data.Model',

    idProperty: 'ID',

    proxy: {
        type: 'rest',
        url: '/timezones'
    },

    fields: [{
        name: 'BaseUtcOffset',
        type: 'string'
    }, {
        name: 'DisplayName',
        type: 'string'
    }, {
        name: 'DisplayName',
        type: 'string'
    }, {
        name: 'ID',
        type: 'string'
    }, {
        name: 'SupportsDaylightSavingTime',
        type: 'boolean'
    }],
});

Ext.application({
    name: 'App',

    appFolder: 'app',

    launch: function() {
        var timezoneDetails = Ext.create('App.model.Model', {
            ID: 'Bob'
        });
        timezoneDetails.load(); // TypeError: timezoneDetails.load is not a function
    }
});

此代码的Sencha Fiddle可在此处获取:https://fiddle.sencha.com/#fiddle/1lq

1 个答案:

答案 0 :(得分:1)

load在每个模型类上都是静态的。你将在回调中获得记录。

App.model.Model.load(1, function(rec) {
    console.log(rec.getId());
});