0
設置模型字段的值,我有以下型號:適當的方式在EXT JS
Ext.define('my.workspace.Area', {
extend: 'Ext.data.Model',
idProperty: 'id',
fields: [
{name: 'id', type: 'string'},
{name: 'width', type: 'int',getterName:'getWidth',setterName:'setWidth'},
{name: 'height', type: 'int',getterName:'getHeight',setterName:'setHeight'}
]
});
如果我實例化這個模型,讓我們這樣說:
var area = Ext.create('my.workspace.Area');
我無法使用setter setWidth和setHeight爲這個實例設置值。但是我能做到這樣的:
area.set('width', someWidthValue);
area.set('height', someHeightValue);
我的問題是,當這個對象通過seralized以JSON保存()或同步()調用存儲包含這種情況下,我得到:
...
"area": {
"data": {
"id": "someId",
"width": 260,
"height": 502
},
...
代替:
...
"area": {
"id": "someId",
"width": 260,
"height": 502
},
...
所以我的問題是,在這個JSON 「數據」 的實體。我相信他與我在區域實例中設置字段值的方式有關。我認爲這是錯誤的嗎?如果不是,那麼設置這些字段的正確方法是什麼?
謝謝你的時間。
你的問題與清晰完全相反。如何/爲什麼在「加載」操作期間序列化數據 - ExtJS只在'load'期間反序列化,並在'sync'期間序列化。 – Alexander
也就是說,官方的ExtJS文檔並沒有顯示''setterName''或'getterName'配置存在於'Ext.data.field.Field'上。 – Alexander
我的意思是加載/保存操作來序列化/反序列化。我會更新問題 –