TypeScript: невозможно вызвать метод super для дочернего класса - PullRequest
0 голосов
/ 29 марта 2019

Когда я пытаюсь переопределить родительский метод и использую супер внутри, я получаю эту ошибку:

ошибка TS2340: только открытые и защищенные методы базового класса доступно через ключевое слово super.

    return super.toJson(["password", ...blacklist]);

Это пример:

abstract class BaseUser {
    name: string;

    constructor(name: string) {
        this.name = name;
    }

    toJson = () => {
        return Object.assign({}, this);
    }
}

class MyUser {
   ...
   toJson = (blacklist) => {
       ...
       const obj = super.toJson();
       ... 
   }
}

Не знаю, что я делаю не так ...

1 Ответ

0 голосов
/ 03 апреля 2019

Как сказала @Titian Cernicova-Dragomir в комментариях, вы должны использовать метод вместо этого.Вы можете проверить эти ответы:

Триггеры вызова метода наследования Ошибка компиляции Typescript

Ошибка при выполнении наследования в TypeScript

...