无法在typescript中设置/获取扩展类的属性

时间:2017-02-14 08:31:02

标签: angular typescript getter-setter extending-classes

我遇到与在Typescriptangular 2设置或获取扩展类的值相关的问题。

我有一个具有这些属性的A类:

export class A {
    protected name: string;

    set setName(name: string) {
        this.name= name;
    }

    get getName() {
        return this.name;
    }
}

我将A类从B扩展为:

export class B extends A implements OnInit {
    ngOnInit() {
        this.setName('User');
    }
}

这会将错误返回为:

this.setName is not a function

我想它告诉我们B类中没有任何名为setName的函数。

如何设置在扩展A类的函数中使用的值?什么是最好的方法,因为构造函数初始化对我没有用。

我也无法创建B类的新实例并设置值。如果我错了,任何人都可以纠正我吗?

1 个答案:

答案 0 :(得分:4)

如果它是一个setter,它应该是

this.setName = 'User';