(function () {
Ext.onReady(function () {
//定义User
Ext.define('User', {
extend: 'Ext.data.Model',
fields: [
{name: 'name', type: 'string'},
{name: 'age', type: 'int'}
],
hasMany: {name: 'books', model: 'Book'}
});
//定义book
Ext.define('Book', {
extend: 'Ext.data.Model',
fields: [
{name: 'name', type: 'string'},
{name: 'price', type: 'int'}
],
associations: [
{type: 'belongsTo', model: 'User'}
]
});
//要加载的数据
var userData = {
User: {
auditor: 'yjw',
info: {
name: 'tom',
age: 17,
books: [
{name: 'book1', price: 10},
{name: 'book2', price: 20}
]
}
}
}
var userProxy = Ext.create('Ext.data.proxy.Memory', {
model: 'User',
data: userData,
reader: {
type: 'json',
root: 'User',
implicitIncludes: true,
record:'info'//服务器返回的数据可能很多,用record可以删选出有用的数据信息,装载到Model中
}
});
console.log(userProxy);
userProxy.read(new Ext.data.Operation(), function (result) {
var records = result.resultSet.records;
Ext.Array.each(records, function (record) {
console.log(record.get('name'));
});
var user = records[0];
var books1 = user.books();
books1.each(function (book) {
alert(book.get('name'));
});
var books2 = user.raw.books;
Ext.Array.each(books2, function (book) {
console.log(book.price);
})
});
})
})()