1
我有以下格式一些JSON數據:你可以在extJs模型中定義一個hasMany與HashMap的關係嗎?
{
"id":1,
"personMap":{
"president":{"firstname":"Sookie","lastname":"Stackhouse"},
"vicepresident":{"firstname":"Eric","lastname":"Northman"},
"treasurer":{"firstname":"Alcide","lastname":"Herveaux"}
}
}
如何定義我的模型,以便在地圖中的值加載正確的對象類型?那可能嗎?
下面將加載的數據,但這些值未類型爲「人」對象:
Ext.define('Committee', {
extend: 'Ext.data.Model',
fields: [ 'id', 'personMap' ]
});
以下期望personMap是一個數組不是地圖:
Ext.define('Committee', {
extend: 'Ext.data.Model',
fields: [ 'id' ],
hasMany: [{
model: 'Person',
name: 'personMap'
}]
});
Ext.define('Person', {
extend: 'Ext.data.Model',
fields: [ 'firstname', 'lastname' ]
});
謝謝。我試圖找到一個解決方案,不涉及我改變數據結構。或者,至少我想確定extjs中的漏洞,這些漏洞會阻止您以這種方式使用數據。 – user1623730
您應該仍然可以訪問像record.get('personMap')。president'這樣的記錄數據,然後將這些數據應用到您可以執行的模型中,'var model = Ext.create('Person' record.get('personMap')。president);',但是由於這不是模型的一部分,所以你會失去人物頭銜。 – sissonb