Extjs4 ExtJS 4(MVC)存储未使用自定义模型类

Extjs4 ExtJS 4(MVC)存储未使用自定义模型类,extjs4,extjs-mvc,Extjs4,Extjs Mvc,我正在使用extjs4.0.7及其标准MVC架构。我有一个带有自定义存储和模型类的网格。通过store.load()远程加载数据。我使用ext-dev.js进行动态依赖项加载的调试 该应用程序在Chrome的控制台中加载正常,没有错误。但问题是,无论模型中有哪些字段,存储中的记录都与AJAX调用提供的数据完全相同。我甚至尝试过重命名和删除字段,但Ext没有注意到 使用控制台浏览mystore对象时,会发现所有记录都有自己的自定义运行时生成的模型类,名为Ext.data.reader.Json-M

我正在使用extjs4.0.7及其标准MVC架构。我有一个带有自定义
存储
模型
类的网格。通过
store.load()
远程加载数据。我使用
ext-dev.js
进行动态依赖项加载的调试

该应用程序在Chrome的控制台中加载正常,没有错误。但问题是,无论模型中有哪些字段,存储中的记录都与AJAX调用提供的数据完全相同。我甚至尝试过重命名和删除字段,但Ext没有注意到

使用控制台浏览my
store
对象时,会发现所有记录都有自己的自定义运行时生成的模型类,名为
Ext.data.reader.Json-Modelext-gen1141
。以下是我的代码要点:

我的模型:

Ext.define('MyApp.model.FooModel', {
    extend: 'Ext.data.Model',

    idProperty: 'column1',
    fields: [
        {name: 'column1', convert: function(value, record) {
            return value + ' TEST-TEST-TEST';
        }},
        'column2',
        'column3'
    ]
});
我的商店:

Ext.define('MyApp.store.FooStore', {
    extend: 'Ext.data.Store',
    model: 'MyApp.model.FooModel',
    autoLoad: false,
    proxy: {
        type: 'ajax',
        url: '/blah/blah',
        reader: {
            type: 'json'
        }
    }
});
我的网格:

Ext.define('MyApp.view.FooGrid', {
    extend: 'Ext.grid.Panel',
    alias: 'fooGrid',
    store: 'FooStore',
    columns: [{
        text: 'Column 1',
        dataIndex: 'column1',
        flex: 1
    },{
        text: 'Column 2',
        dataIndex: 'column2',
        flex: 1
    },{
        text: 'Column 3',
        dataIndex: 'column3',
        flex: 1
    }]
});
我的控制器:

Ext.define('MyApp.controller.Foo', {
    extend: 'Ext.app.Controller',
    views: ['FooGridFrame'],
    models: ['FooModel'],
    stores: ['FooStore'],

    init: function() {
        this.control({
            'fooGrid': {
                activate: function(grid) {
                    grid.getStore().load();
                }
            }
        });
    }
});

我不知道我做错了什么。有什么想法吗?

事实证明,AJAX后端(由另一个用于Ext3的开发人员编写)通过
元数据
属性提供了一些配置数据。我不知道Ext的
商店
对此有任何关注。通过更新后端以省略
元数据
属性,解决了我的问题


更新
元数据
以提供我所需的适当配置可能也会起作用,但我正在进行重构,以使所有UI配置都在客户端中实现。

事实证明,AJAX后端(由另一个Ext3开发人员编写)通过
元数据
属性提供一些配置数据。我不知道Ext的
商店
对此有任何关注。通过更新后端以省略
元数据
属性,解决了我的问题


更新
元数据
以提供所需的适当配置可能也会起作用,但我正在重构,以使所有UI配置都在客户端中实现。

我找到了答案。我的数据源有一个指定字段配置的
metaData
属性,很明显,存储区使用这些属性来生成自己的模型,而不是我的
FooModel
中的模型。我会尽快把这个写进一个答案,让我来。我找到了答案。我的数据源有一个指定字段配置的
metaData
属性,很明显,存储区使用这些属性来生成自己的模型,而不是我的
FooModel
中的模型。我会尽快把这写进一个答案,以便让我回答。