我对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
答案 0 :(得分:1)
load
在每个模型类上都是静态的。你将在回调中获得记录。
App.model.Model.load(1, function(rec) {
console.log(rec.getId());
});