我有两个模型和一个加载成功回调函数,如下所示:
Ext.define('Desktop.model.User', {
extend: 'Ext.data.Model',
hasMany: ['Desktop.model.Module'],
//......
});
Ext.define('Desktop.model.Module', {
extend: 'Ext.data.Model',
belongsTo: 'Desktop.model.User'
//......
});
并且
Desktop.model.User.load('', {
success : function(user,options) {
user.desktop.model.modules().each(function(module) {
//**** ERROR HERE ****
//.......
}
}
});
在调试断点处,我可以看到商店自动生成的用户对象中有一个desktop.model.modules()
函数,但我不确定调用它的正确语法。如果我像上面那样直接调用它,则会发生错误,说desktop.model是未定义的,将其视为属性而不是Module模型的命名空间的一部分。
我对命名空间采取了错误的方法吗?或者我该如何正确调用该命名空间的函数?
答案 0 :(得分:1)
在hasMany上指定name
属性:
Ext.define('Desktop.model.User', {
extend: 'Ext.data.Model',
hasMany: {
model: 'Desktop.model.Module',
name: 'modules'
}
});
// Later
user.modules().each();