Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript EXTJS访问setter_Javascript_Extjs_Extjs4 - Fatal编程技术网

Javascript EXTJS访问setter

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

我已经用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 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
});