Ext.define("E.model.P", {
extend: 'Ext.data.Model',
associations: [{
type: 'hasOne',
model: 'E.model.D',
associationKey: 'D',
name:'demo',
getterName: 'getD', // avoid dots in function name
setterName: 'set' // avoid dots in function name
}],
fields: [
{ name: 'id', type: 'int' },
{ name: 'CPR', type: 'string' },
]
});
我有一个使用Model P
创建的商店 var store = Ext.create("E.store.MyP");
store.load(function() {
store.each(function(record) {
var info = {
data: Ext.encode(record.getData()),
allData: Ext.encode(record.getData(true)),
personData: Ext.encode(record.getD()) //Here i get the getD is not a function
};
console.log(info);
});
});
我遇到的问题是getD不是一个函数,它只有在没有类定义ex:Ext.define(“P”)时才能工作。
那么如何访问getD以便我可以进一步向下钻取?
现在,当我开始分离课程时,它停止工作,并说无法找到功能
答案 0 :(得分:0)
必须加载相关模型(在您的示例中为E.model.D
)类才能生成getter。
这意味着您需要在基础模型类定义中要求此类(或者,如您所知,将所有类放在同一个文件中)。
例如:
Ext.define("E.model.P", {
extend: 'Ext.data.Model',
// here's for the class loader!
requires: [
'E.model.D'
],
// rest of your definition
});