如何获取基类(Angular2 +)中的派生类名称?

时间:2018-09-24 22:06:50

标签: angular

当我有一个扩展基类的类时,如何获得派生类的名称(在基类中)?

我在基类中有一个方法,由派生类调用;我想知道哪个实例正在调用该方法。使用 this.constructor.name 时,我拥有当前的基类,而不是派生的基类。

角度4/5

谢谢。

[更新]

  • 我正在使用 this .funcInBaseClass()和 super .funcInBaseClass()在基类中调用函数。
  • 该功能受到“保护”

1 个答案:

答案 0 :(得分:1)

您需要使用构造函数类的名称属性。

class Base {   
    public process(value: any) {
        alert(this.constructor["name"]); // alerts 'Derived' in this example
    }
}

class Derived extends Base {
    public process(value: any) {
        super.process(value); // use super to call methods on the base class
    }
}

(new Derived).process('someValue');