Ext JS模型:一对一关联

时间:2012-10-17 06:07:36

标签: extjs model

建立一对一关系的最佳方式是什么?这就是我想要的:

Ext.define('MyApp.model.Post', {
    extend : 'Ext.data.Model',
    fields : [ 'id', {
        name : 'author',
        type : 'MyApp.model.Author'
    }, {
        name : 'content',
        type : 'string'
    } ],
    hasMany : {
        model : 'MyApp.model.Comment',
        name : 'comments'
    }
});

据我所知,author将被视为对象文字属性而不是Ext JS模型,这意味着它不能用作记录。此外,getAuthor()不可用。

另一种选择是:

Ext.define('MyApp.model.Post', {
    extend : 'Ext.data.Model',
    fields : [ 'id', 'authorID', {
        name : 'content',
        type : 'string'
    } ],
    hasMany : {
        model : 'MyApp.model.Comment',
        name : 'comments'
    }
});

现在获取作者信息需要在某处进行另一次加载调用。

哪种做法最好,两者的优点和缺点是什么?使用第一个版本并存储作者名称等重要信息是否有利,如果要将其用作记录,则仅对完整作者对象进行进一步的加载调用?

1 个答案:

答案 0 :(得分:0)