2012-10-17 25 views
-1

建立一对一关系的最佳方式是什么?这是我想什么:Ext JS模型:一对一关联

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' 
    } 
}); 

获取作者信息,现在需要另一个负载通话地方。

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

回答