ExtJs3.4
以下のコードを からにアップグレードする解決策を見つけようとしていますExtJs 4.2
。
私はいくつかの答えを見つけ、Sencha のドキュメントを調べましたが、それでも苦労しました。
このコードを ExtJs4.2 で書き直す方法を知っている人がいたら教えてください。前もって感謝します。
var config =
{
store: new Ext.data.Store({
autoLoad: true,
proxy: new Ext.data.HttpProxy({ url: '/main/...' }),
reader: new Ext.data.JsonReader
({
root: 'data',
totalProperty: 'totalCount',
id: 'id',
fields:
[
'alert_id',
{name: 'duration', type: 'int'},
{name: 'start_date', type: 'date', dateFormat: 'timestamp'},
{name: 'end_date', type: 'date', dateFormat: 'timestamp'},
'monitor'
]
})
}),
}
// more code here
これは、上記のコードから私が知っていることです:
Models
もう使わfield
ないStores
reader
の中にあるはずですproxy
これらは警告です
[DEPRECATED][4.0][Ext.data.Store]: Passing a "fields" config via the store's reader config is no longer supported. Instead you should configure a model and pass it as the store's "model" config. Please see the header docs for Ext.data.Store for details on properly setting up your data components.
ext-all.js (line 21)
[DEPRECATED][4.0][Ext.data.Store] reader (config): The reader config should now be specified on the configured proxy rather than directly on the store.
補遺
私は最初はこのようにしていました:
Ext.define('User', {
extend: 'Ext.data.Model',
id: 'id',
fields:
[
'alert_id',
{name: 'duration', type: 'int'},
{name: 'start_date', type: 'date', dateFormat: 'timestamp'},
{name: 'end_date', type: 'date', dateFormat: 'timestamp'},
'monitor'
]
});
var config =
{
store: new Ext.data.Store({
model:'User',
proxy:
{
url: '/main/...',
reader: new Ext.data.JsonReader
({
root: 'data',
totalProperty: 'totalCount',
})
}
}),
// more code here
}
だから私は代わりに何を書くべきか分かりませんでしreader: new Ext.data.JsonReader
た。
使わなくなったので
使うかどうかも。答えを見るまで、私は知りませんでした。Model
Store
fields
Ext.data.JsonStore