Javascript Ext继承-无法从基类/抽象类获取静态值
这里有两个类,Shape和Rectangle——其中Rectangle继承自Shape。Javascript Ext继承-无法从基类/抽象类获取静态值,javascript,inheritance,extjs,Javascript,Inheritance,Extjs,这里有两个类,Shape和Rectangle——其中Rectangle继承自Shape。这里是父类: 这是我从父级继承的类: Ext.define('Rectangle', { extend: 'Shape', draw: function (Arrlenght,base.newShape) { var Arrlenght = inheritableStatics.drawnShapes.length; alert(Arrlenght); // I
这里是父类: 这是我从父级继承的类:
Ext.define('Rectangle', {
extend: 'Shape',
draw: function (Arrlenght,base.newShape) {
var Arrlenght = inheritableStatics.drawnShapes.length;
alert(Arrlenght); // I need this array value?
if (Arrlenght <= 10) {
this.callParent();
} else {
console.log('Too many shapes drawn!');
}
console.log('Drawing a Rectangle...');
}
});
Ext.define('Rectangle'{
扩展:“形状”,
绘制:函数(arlenght、base.newShape){
var Arrlenght=inheritableStatics.drawnShapes.length;
警报(Arrlenght);//我需要这个数组值吗?
如果(arrenght两个错误开始:
static
应该是statics
(复数)-不是因为您需要它,而是因为
inheritableStatics
是一个配置属性,而不是运行时访问器,如果要在子类中使用这些变量,应该在Shape
上定义它
Ext.define('Shape'{
// ...
可继承静态:{
绘图图形:['Shape1','Shape2']
}
});
然后,如果要引用静态变量,可以使用每个对象实例上存在的self
属性,它基本上是对其原型/类的引用:
Ext.define('Rectangle'{
扩展:“形状”,
// ...
绘图:函数(/*args*/){
console.log(this.self.drawnShapes);//做一些事情
}
});
Ext.define('Rectangle', {
extend: 'Shape',
draw: function (Arrlenght,base.newShape) {
var Arrlenght = inheritableStatics.drawnShapes.length;
alert(Arrlenght); // I need this array value?
if (Arrlenght <= 10) {
this.callParent();
} else {
console.log('Too many shapes drawn!');
}
console.log('Drawing a Rectangle...');
}
});