私は、最も単純なことのように見えるものに頭を悩ませようとしています。
JSONを返すサーバー側の呼び出しを介してオブジェクトのコレクションをロードしたいのですが、
なぜこれらすべてが予期しない何かを返すのですか?
> modelStore.data.items[0].Id
undefined
> modelStore.data.items[0].getId()
undefined
> modelStore.data.items[0].getTitle()
TypeError: Object [object Object] has no method 'getTitle'
> modelStore.getById(1)
null
> modelStore.getTotalCount()
1
> modelStore.first()
Ext.Class.newClass < should be PegModel??
コード:
Ext.define('PegfileApp.model.PegModel', {
extend: 'Ext.data.Model',
fields: ['Id', 'Title'],
//hasMany: {model: 'RootDimension', name: 'rootDimensions'},
proxy:
{
type: 'ajax',
url: 'PegModel',
timeout: 120000,
noCache: false,
reader:
{
root: 'PegModel',
successProperty: 'success'
}
}
});
Ext.define('PegfileApp.store.PegModels', {
extend: 'Ext.data.Store',
model: 'PegfileApp.model.PegModel',
autoLoad: true,
autoSync: false,
proxy: {
type: 'ajax',
url: 'PegModel',
reader: {
type: 'json',
root: 'PegModels',
successProperty: 'success'
}
}
});
データ:
{"PegModels":[{"Title":"PegModel","Id":1}],"success":true}
モデルで定義されたプロパティごとに、対応するゲッターがあることを理解しました:get {PropertyName}()?
どういうわけか「レコード」を「モデル」にキャストする必要がありますか?