Javascript EXTJS访问setter
我已经用p型创建了一个商店Javascript EXTJS访问setter,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,我已经用p型创建了一个商店 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 nam
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' },
]
});
我遇到的问题是getD不是一个函数,它只有在我没有类define ex:Ext.define(“p”)的情况下才能工作
那么如何访问getD以便进一步深入
这很有效
现在,当我开始分离这些类时,它停止工作并说找不到函数必须加载关联的模型(在您的示例中是E.model.D
)类才能生成getter
这意味着您需要在基本模型类定义中使用该类(或者,正如您所发现的,将所有类都放在同一个文件中)
例如:
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);
});
});
Ext.define("E.model.P", {
extend: 'Ext.data.Model',
// here's for the class loader!
requires: [
'E.model.D'
],
// rest of your definition
});