我认为文档对此不是很清楚 - 至少我无法弄清楚关联如何与 ExtJS 4 中的模型一起工作。让我们看一个简单的例子:
模型
Ext.define('app.model.Goo', {
...
fields: ['id', 'foo_id', 'goo_field'],
belongsTo: 'Foo'
});
Ext.define('app.model.Foo', {
...
fields: ['id', 'foo_field'],
hasMany: {model: 'Goo', name: 'goos'} //
});
这使我可以轻松编写返回嵌套数据的服务器响应,例如:
{
success: true,
foo: {
id: 42
foo_field: 'bacon',
goos: [
{ id: 0, goo_field: 'velociraptor' },
{ id: 1, goo_field: 'spidermonkey' },
...
]
}
}
并将数据解析为各自的模型。但是如果我想延迟加载嵌套数据怎么办?假设我编写服务器,使其不会在返回的对象中发送任何goos
字段。foo
写是什么意思foo.goos().load()
?什么被发送到我的服务器呢?GET <proxy:url>/<'id' of foo>/goos
?