【问题标题】:Angular/Typescript - This expression is not constructable. Type 'MoveDataClass' has no construct signaturesAngular/Typescript - 此表达式不可构造。类型“MoveDataClass”没有构造签名
【发布时间】:2020-09-16 04:39:55
【问题描述】:

我正在使用 3 种方法创建该类的新实例的类,但是当我尝试这样做时,出现以下错误:

“Angular/Typescript - 此表达式不可构造。类型 '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”上以红色显示

【问题讨论】:

  • this.moveData 是什么?
  • 请显示完整的类/组件,其中代码为:this.pokemonMovesCalculated[0]

标签: angular typescript class instance


【解决方案1】:

要使用类的新实例:

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');

【讨论】:

  • 我正在这样做。我忘记解释“this.moveData()”是 = to new MoveDataClass
猜你喜欢
  • 2021-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-17
  • 2020-11-21
  • 2021-07-10
  • 2015-09-22
相关资源
最近更新 更多