Angular / Typescript - это выражение не может быть построено. Тип MoveDataClass не имеет сигнатур конструкции - PullRequest
1 голос
/ 28 мая 2020

Я делаю класс с 3 методами для создания новых экземпляров этого класса, но когда я пытаюсь это сделать, появляется следующая ошибка:

«Angular / Typescript - это выражение не может быть построено. Type» MoveDataClass 'не имеет сигнатур конструкции. "

Что я делаю не так?

Класс:

export class MoveDataClass {

    power;
    stab;
    efect;

    constructor(power,stab,efect) {
        this.power= power;
        this.stab =stab;
        this.efect= efect;

    }


}

Что мне делать, чтобы создать новый класс:

 this.pokemonMovesCalculated[0] =  new this.moveData(type);

Ошибка отображается в "this.moveData" красным цветом

1 Ответ

0 голосов
/ 28 мая 2020

Чтобы использовать новый экземпляр вашего класса:

import { MoveDataClass} from './move.data'; // relative path
...
this.pokemonMovesCalculated[0] =  new MoveDataClass('one', 'two', 'three');

это краткая форма вашего класса со значениями по умолчанию:

export class MoveDataClass {

  constructor(
    public power = '',
    public stab = '',
    public efect = '') {
  }
}

Можно использовать эту форму:

new MoveDataClass();
// or:
new MoveDataClass('one');
// or:
new MoveDataClass('one', 'two');
// or:
new MoveDataClass('one', 'two', 'three');
...