存储元数据无法按预期工作

时间:2012-03-13 16:07:29

标签: extjs extjs4 extjs-mvc

我尝试使用extJS元数据功能将属性设置为商店。

我的JSON响应如下所示:

{
    "code": 200,
    "data": [
        {
            "User": {
                "id": "1",
                "username": "julian",
                "firstname": "Julian",
            }
        }
    ],
    "success": true,
    "metaData": {
        "displayField": "username"
    }
}

现在我试图在我商店的加载事件中输出displayField。 这是我的商店:

Ext.define('AM.store.Users', {
    extend:'Ext.data.Store',
    model:'AM.model.User',
    autoLoad:false,
    displayField: null,
    listeners:{
        load:function (store) {
            console.log(store.displayField);
        }
    },
    proxy:{
    type:'ajax',
        api:{
            read:BASE_PATH + 'users/index',
            create:BASE_PATH + 'users/edit',
            update:BASE_PATH + 'users/edit',
        destroy:BASE_PATH + 'users/remove'
        },
        reader:{
            type:'json',
            root:'data',
            record:'User',
            messageProperty:"code"
        },
        writer:{
            type:'json',
            writeAllFields:true
        }
    }
});

console.log()输出null

更新:

store.proxy.reader.displayField使用适当的数据保存displayField。但它并没有多大意义。

1 个答案:

答案 0 :(得分:0)

查看ExtJs源代码,我认为meteData应该在你的data数组中。你有控制服务器端?试着把它放在那里,看看客户是否会识别它。