我正在尝试像以下示例一样在ExtJS 4中实现延迟加载:http://dev.sencha.com/deploy/ext-4.0.0/examples/data/associations.html使用以下代码:
/* Models */
Ext.define('Post', {
extend: 'Ext.data.Model',
fields: ['title'],
proxy: {
type: 'ajax',
url: 'http://example.com/post.json'
}
});
Ext.define('User', {
extend: 'Ext.data.Model',
fields: ['name'],
hasMany: 'Post',
proxy: {
type: 'ajax',
url : 'http://example.com/user.json'
}
});
/* Load User and Posts */
User.load(1, {
success: function(user) {
var test = user.posts();
test.on('load', function(me) {
console.log(me.getCount()); /* THIS is always 0?! */
});
test.load();
}
});
/* Returned JSON Data */
/* User */
[{"name":"blalala"}]
/* Posts */
[{"title":"dfgdfgdgd"}]
但是返回的Posts-Store始终为空(0条记录)。您可以在此处检查我的JSFiddle:http://jsfiddle.net/lenoxDoe/n6Xbw/2/
任何意见将是有益的。
最佳答案
1. hasMany属性是一个数组
您需要在hasMany关系上设置foreignKey,并在Post上提供外键字段
关于javascript - 延迟加载在ExtJS中具有hasMany关联,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16063844/