0

我有两个模型和一个加载成功回调函数,如下所示:

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 未定义,将其视为属性而不是模块模型的命名空间的一部分。

我对命名空间采取了错误的方法吗?或者我如何正确调用具有该命名空间的函数?

4

1 回答 1

1

name在 hasMany 上指定属性:

Ext.define('Desktop.model.User', {
    extend: 'Ext.data.Model',
    hasMany: {
        model: 'Desktop.model.Module',
        name: 'modules'
    }
});
// Later
user.modules().each();
于 2013-04-17T08:07:56.127 回答