我的例子:
Ext.define('Shpak',
{
name: 'Eugene',
surname : 'Popov',
getParam:function(){
console.log( this.param + '_____' + this.surname )
}
}
, function(){
console.log('callback')
this.param = 'default';
});
var bird = Ext.create('Shpak')
bird.getParam()//undefined_____Popov
为什么未定义?
答案 0 :(得分:2)
回调函数中的 是类,而不是对象。createdFn:Function(可选)在类之后执行的回调 创建后,其执行范围(this)将是新创建的 上课本身。
在创建类之后调用回调函数,而不是对象。
尝试在构造函数中添加init逻辑。检查下面的代码。
constructor: function(cfg) {
this.param = 'default';
this.initConfig(cfg);
}
JS小提琴: http://jsfiddle.net/n1czm24o/3/
<强>更新强>
或者将逻辑提取到初始化函数
constructor: function(cfg) {
this.initFields();
this.initConfig(cfg);
},
initFields: function() {
this.param = 'default';
}