在ExtJS 6.2中,子類是否繼承了父類的配置?
對我來說,這似乎并不奏效。
Ext.define('test1', {
config: {
test1: {
test1: ''。
}
},
constructor(config) {
Ext.apply(this, config)。
console.log(config)。
},
});
Ext.define('test2', {
extend: 'test1',
config: {
test2: ''
},
constructor(config) {
this.callParent(config)。
console.log(this.config)。
},
});
Ext.create('test2', {
test1: {
test1: 'test1'。
},
test2: 'test2': 'test2'.
});
另外,似乎在父級構造器上config是未定義的!
我想讓所有在父類中定義的配置在子類中也可用。并且能夠在創建子類時設定父類的配置。
謎語。https://fiddle.sencha.com/#view/editor&fiddle/3fud
uj5u.com熱心網友回復:
你必須通過initConfig來獲得ExtJS的典型配置。你可以在test2里面得到所有的配置。
Ext.define(test1', {
config: {
test1: nullconstructor(config) {
this.initConfig(config)。
return this。
}
});
Ext.define('test2', {
extend: 'test1',
config: {
test2: ''
},
constructor(config) {
// == > config
this.callParent([config])。
// ==> 她你甚至可以使用getTest1(), setTest1() (或test2).
}
});
Ext.create('test2', {
test1: {
test1: 'test1'。
},
test2: 'test2': 'test2'.
});
uj5u.com熱心網友回復:
一種解決方法是呼叫Ext.apply(this, config);不確定這是否是正確的解決方案。
Ext.define('test2', {
extend: 'test1',
config: {
test2: ''
},
constructor(config) {
this.callParent(config)。
Ext.apply(this, config); // <-
console.log(this.config)。
console.log(this.getTest1() )。
console.log(this.getTest2() )。
},
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/320083.html
標籤:
上一篇:繼承性應該對靜態變數起作用
下一篇:通過DOM操作改變SVG筆觸顏色
