在下面的示例代码中,我创建了一个自定义组件,它使用了一些生命周期回调方法,如onRender
Ext.onReady (function() {
Ext.define("Person", {
extend: "Ext.Component",
constructor: function (config) {
this.initConfig(config),
this.callParent();
console.log("inside constructor");
return this
},
onRender: function() {
this.callParent(arguments);
console.log("inside onRender");
},
});
Ext.create('Person', {
width:200,
height:300,
html: "hello world",
renderTo: Ext.getBody()
});
});
输出:“内部构造函数”
看起来没有调用onRender的生命周期方法。此外,“hello world”也未呈现。
我做错了什么?
答案 0 :(得分:1)
我不知道究竟是什么答案..但我试着回答它,请纠正我,如果我错了..
据我所知,callparent()
用于在其父级中调用函数,该函数可能需要传递参数,在这种情况下构造函数需要传递一个数组。
Ext.onReady (function() {
Ext.define("Person", {
extend: "Ext.Component",
constructor: function (config) {
//this.initConfig(config),
this.callParent([config]);
console.log("inside constructor");
//return this
},
onRender: function() {
this.callParent(arguments);
console.log("inside onRender");
},
});
Ext.create('Person', {
width:200,
height:300,
html: "hello world",
renderTo: Ext.getBody()
});
});
this.callParent([config]);
这意味着使用参数config或此范围调用父级。
因此,onRender
中的Ext.component
功能会被onRender
...