0

我有一个 Extjs 窗口,它接收模型/记录作为配置的一部分,如下所示:

 var myModel = Ext.create('App.model.MyModel', { ... });

var window = new Ext.widget('mywindow',{
            myModel: myModel,
        });

myModel 是具有以下关联的记录:

{type: 'hasMany', model: 'App.model.OtherModel', name: 'othermodel'},

othermodel 的字段和子字段如下:

{name:'regular_field',type: 'string'},
{name:'subfield_main',type: 'json', fields:[
            {name:'subfield1', type:'string'},
            {name:'subfield2', type:'string'}
        ]},

窗口被销毁后,我获得了对 myModel 的引用。我可以访问 othermodel 存储并获得第一个 othermodel 实例 OK。但问题是 subfield_main 上没有任何数据!!!虽然它有关于regular_field 的数据。

什么可能导致这种行为???谢谢您的帮助!

4

2 回答 2

0

您对 subfield_main 使用嵌套字段定义。没有记录这样的功能。您可以改用映射:

{name:'regular_field',type: 'string'},
{name:'subfield1',type: 'string', mapping: 'subfield_main.subfield1'},
{name:'subfield2',type: 'string', mapping: 'subfield_main.subfield2'},
于 2013-06-17T03:11:31.273 回答
0

底线。这不是 Extjs 的问题。受到 Christoph 建议的启发,我开始收听 store datachanged 事件。在仔细观察事件被调用的时间和 Chrome 调试控制台中的网络选项卡之后,我设法找到了问题,这实际上是在我的后端代码中。它没有返回填充所需的数据

 {name:'subfield_main',type: 'json', fields:[
            {name:'subfield1', type:'string'},
            {name:'subfield2', type:'string'}
        ]},
于 2013-06-17T16:26:53.070 回答