我尝试使用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。但它并没有多大意义。
答案 0 :(得分:0)
查看ExtJs源代码,我认为meteData应该在你的data
数组中。你有控制服务器端?试着把它放在那里,看看客户是否会识别它。