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
我的意思是加载/保存操作来序列化/反序列化。我会更新问题 –