1
,我有以下數據:填充關聯模型嵌套JSON
var data = [
{
id: 1,
name: 'Ed Spencer',
phoneNumber: '555 1234',
children: [{
id: 11,
name: 'Baz'
}]
},
{
id: 2,
name: 'Abe Elias',
phoneNumber: '666 1234',
children: [{
id: 21,
name: 'Foo'
},{
id: 21,
name: 'Bar'
}]
}
];
有沒有辦法將其加載到一些模型和存儲,這樣嗎?
Ext.define('Child', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'user_id', type: 'int'},
{name: 'name', type: 'string'}
],
belongsTo: 'User'
});
Ext.define('User', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'},
{name: 'phone', type: 'string', mapping: 'phoneNumber'}
],
hasMany: {model: 'Child', name: 'children'}
});
var store = Ext.create('Ext.data.Store', {
autoLoad: true,
model: 'User',
data : data
});
我只發現要做到這一點至今的一種方式,通過遍歷商店:
store.each(function(r){
r.childrens().loadData(r.data.children);
});
但這似乎不是很大。
我只想加載一次數據。因爲我的數據已經結構化,所以我不想在每個孩子中指定外鍵。
有沒有人做過類似的事情?有沒有更好的方法來解決這個問題?