Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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类原型中定义了构造函数,则obj.get函数将失败_Javascript_Extjs_Extjs4 - Fatal编程技术网

Javascript 如果在ExtJs类原型中定义了构造函数,则obj.get函数将失败

Javascript 如果在ExtJs类原型中定义了构造函数,则obj.get函数将失败,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,我是ExtJs世界的新手,从ExtJS4开始,使用“学习ExtJS4”一书 这是我正在玩的代码片段 你能帮我弄明白这是怎么回事吗 必须调用父构造函数。将this.callParent(arguments)添加到构造函数重写中。请详细说明构造函数定义影响obj创建的原因。或者,您可以共享链接,我可以参考该链接了解核心内容。您正在扩展Ext.data.Model,并且它已经有一个构造函数,因此在不调用父级的情况下,会丢失很多功能。请参见备注:模型构造函数接受更多参数,因此正确的调用是this.ca

我是ExtJs世界的新手,从ExtJS4开始,使用“学习ExtJS4”一书

这是我正在玩的代码片段


你能帮我弄明白这是怎么回事吗



必须调用父构造函数。将
this.callParent(arguments)
添加到构造函数重写中。

请详细说明构造函数定义影响obj创建的原因。或者,您可以共享链接,我可以参考该链接了解核心内容。您正在扩展
Ext.data.Model
,并且它已经有一个构造函数,因此在不调用父级的情况下,会丢失很多功能。请参见备注:模型构造函数接受更多参数,因此正确的调用是this.callParent(arguments)-我已相应地更正了答案。
Ext.define("MyApp.Category",{
height : 40,
extend : "Ext.data.Model",
fields : [ 
    "id",
    "name",
    "description"
],

constructor : function(config){
    console.log("Config Dump \n");
    console.dir(this);
    //Ext.apply(this, config);
}



});


var category = Ext.create("MyApp.Category",{
id : 1,
name : "Entertainment",
description : "Expenses to have some fun"
});

console.log("this is after instantiation..");
console.debug(category);

console.log(category.get("name"));  
// above line fails gives error - Uncaught TypeError:    Cannot read property 'name' of undefined 
// but if we remove construction defination from class prototype , .get function works very well
console.log(category.get("description"));