Session ExtJS 5.0.1:无法在会话中使用匿名模型

Session ExtJS 5.0.1:无法在会话中使用匿名模型,session,extjs,mvvm,data-binding,extjs5,Session,Extjs,Mvvm,Data Binding,Extjs5,我得到了这个错误: [E] Ext.data.Session.checkModelType():无法使用匿名模型 开会 通过ViewModel将网格与存储绑定时尝试使用会话时: 视图模型: Ext.define('App.view.gridViewModel', { extend: 'Ext.app.ViewModel', alias: 'viewmodel.gridview', stores:{ gr

我得到了这个错误:

[E] Ext.data.Session.checkModelType():无法使用匿名模型 开会

通过ViewModel将网格与存储绑定时尝试使用会话时:

视图模型:

Ext.define('App.view.gridViewModel', { 
        extend: 'Ext.app.ViewModel', 
        alias: 'viewmodel.gridview', 

         stores:{ 
                 gridstore: { 
                         model: 'gridView', 
                         autoLoad: true, 
                         //This triggers the Exception: 
                         session: true, 
                         listeners: { 
                                beforeload: function(store, operation, eOpts) { 
                                        var oProxy = this.getProxy(); 
                                        oProxy.setExtraParams({ 
                                                tableName: 'dbo.SomeTable' 
                                                , identityKey: "id" 
                                                , primaryKey: ["id"] 
                                                , mode: "readonly" 
                                                , lang: "es" 
                                                , output: 'json' 
                                        }); 
                                } 
                         } 
                 } 
         } 
});  
Ext.define('App.view.gridView', { 
        extend: 'Ext.form.Panel', 

        //... 

        viewModel: { 
                type: 'gridview' 
        }, 

        controller: 'gridview', 

        // Create a session for this view 
        session:true, 

        items: [{ 
                xtype: 'grid', 
                reference: 'myGrid', 
                bind: '{gridstore}', 
                columns: [ 
                        //... 
                ] 
        }] 

        //... 
}); 
查看:

Ext.define('App.view.gridViewModel', { 
        extend: 'Ext.app.ViewModel', 
        alias: 'viewmodel.gridview', 

         stores:{ 
                 gridstore: { 
                         model: 'gridView', 
                         autoLoad: true, 
                         //This triggers the Exception: 
                         session: true, 
                         listeners: { 
                                beforeload: function(store, operation, eOpts) { 
                                        var oProxy = this.getProxy(); 
                                        oProxy.setExtraParams({ 
                                                tableName: 'dbo.SomeTable' 
                                                , identityKey: "id" 
                                                , primaryKey: ["id"] 
                                                , mode: "readonly" 
                                                , lang: "es" 
                                                , output: 'json' 
                                        }); 
                                } 
                         } 
                 } 
         } 
});  
Ext.define('App.view.gridView', { 
        extend: 'Ext.form.Panel', 

        //... 

        viewModel: { 
                type: 'gridview' 
        }, 

        controller: 'gridview', 

        // Create a session for this view 
        session:true, 

        items: [{ 
                xtype: 'grid', 
                reference: 'myGrid', 
                bind: '{gridstore}', 
                columns: [ 
                        //... 
                ] 
        }] 

        //... 
}); 
通过代理获取模型的数据:

型号:

Ext.define('App.view.gridViewModel', { 
        extend: 'Ext.app.ViewModel', 
        alias: 'viewmodel.gridview', 

         stores:{ 
                 gridstore: { 
                         model: 'gridView', 
                         autoLoad: true, 
                         //This triggers the Exception: 
                         session: true, 
                         listeners: { 
                                beforeload: function(store, operation, eOpts) { 
                                        var oProxy = this.getProxy(); 
                                        oProxy.setExtraParams({ 
                                                tableName: 'dbo.SomeTable' 
                                                , identityKey: "id" 
                                                , primaryKey: ["id"] 
                                                , mode: "readonly" 
                                                , lang: "es" 
                                                , output: 'json' 
                                        }); 
                                } 
                         } 
                 } 
         } 
});  
Ext.define('App.view.gridView', { 
        extend: 'Ext.form.Panel', 

        //... 

        viewModel: { 
                type: 'gridview' 
        }, 

        controller: 'gridview', 

        // Create a session for this view 
        session:true, 

        items: [{ 
                xtype: 'grid', 
                reference: 'myGrid', 
                bind: '{gridstore}', 
                columns: [ 
                        //... 
                ] 
        }] 

        //... 
}); 
Ext.define(“App.model.gridView”,{ 扩展:“Ext.data.Model”

schema: { 
    namespace: 'App.model' 
}, 

proxy: { 
    //proxy remote api stuff...... 
}. 

idProperty: 'id'. 
primaryKeys: 'id'. 
fields: [ 
    //fields 
] 
}))

我不知道什么是匿名模式,也没有在网上找到任何相关信息,有什么想法吗?


提前感谢

原因似乎是,在我的服务器响应中,我有一个名为“metaData”的JSON对象,它与JSON Reader中可用的对象冲突:

响应元数据

服务器可以在其响应中返回元数据,除了 记录数据,描述数据集本身的属性或 用于重新配置读卡器。要在响应中传递元数据,请执行以下操作: 只需向响应数据的根添加元数据属性。这个 元数据属性可以包含任何内容,但支持特定的集合 由读取器处理的属性(如果存在):

奇怪的是,我没有为JSON阅读器使用任何可用的元数据选项,与任何匿名模型无关,因此这可能被认为是一个bug