2017-02-14 4 views
2

У меня проблема, связанная с установкой или получением значения расширенного класса в Typescript и angular 2.Невозможно установить/получить свойство расширенного класса в машинописном тексте

У меня есть класс А с этими свойствами:

export class A { 
    protected name: string; 

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

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

Я расширив класс А из В, как:

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

Это возвращает ошибку, как:

this.setName is not a function 

Я полагаю, это говорит о том, что в классе B. нет никакой функции, называемой setName.

Как установить значение, которое будет использоваться в функции, расширяющей класс A? Каков наилучший способ, поскольку инициализация конструктора не работала для меня.

Я также не могу создать новый экземпляр класса B и установить его значение. Если я ошибаюсь, где бы меня ни исправили?

ответ

4

Если это сеттер, он должен быть

this.setName = 'User'; 
+0

Спасибо за исправление. Я делал неправильный путь. (facepalm) – PaladiN

+0

Мы все были там: D –

Смежные вопросы