次のような Sencha Touch モデルがあるとします。
Ext.regModel('User', {
'fields': [{
'name': 'first_name',
'type': 'string'
}, {
'name': 'last_name',
'type': 'string'
}, {
'name': 'full_name',
'type': 'string',
'convert': function(v, record) {
return record.data.first_name + ' ' + record.data.last_name;
}
}, {
'name': 'age',
'type': 'integer'
}
]});
サーバーは、レコードを取得するときに「first_name」、「last_name」、および「age」フィールドを返します。ただし、ユーザーの姓名を更新sync()
してストアを呼び出すと、必要ないのに full_name と age を含むすべてのフィールドがサーバーに送信されます。
サーバー上のそのデータを無視できることはわかっていますが、場合によっては(たとえば、「変換」を含むフィールドがたくさんある場合)、ペイロードに多くの不要なオーバーヘッドが追加されます。