我想创建一个类,该类自动获取属性numberOne
和numberTwo
之间的差异,并自动将结果分配给numberThree
。当一个数组键入到该类中时,是否可以在构造函数中执行操作
除非将类指定为数组类型,否则这适用。发生错误,指出缺少属性并且无法将数组类型指定为键入Post。
删除numberThree
属性声明只是抛出另一个错误,说numberThree
是一个未解决的变量。
看起来很简单。我想我错过了与财产申报有关的事情。这是非常重要的,因为将来,这是一个将被分配给来自http请求的数据的类,该请求将具有从返回的数据创建的多个新属性。
export class Post {
numberOne: number;
numberTwo: number;
numberThree: number
constructor(numberOne: number, numberTwo: number) {
this.numberThree = this.numberOne - this.numberTwo;
}
}
export var POSTS: Post[] = [
{ numberOne: 11, numberTwo: 10 },
{ numberOne: 11, numberTwo: 10 },
{ numberOne: 11, numberTwo: 10 },
{ numberOne: 11, numberTwo: 10 },
{ numberOne: 11, numberTwo: 10 }
];
ERROR in [default]
Type '{ numberOne: number; numberTwo: number; }[]' is not assignable to type 'Post[]'.
Type '{ numberOne: number; numberTwo: number; }' is not assignable to type 'Post'.
Property 'numberThree' is missing in type '{ numberOne: number; numberTwo: number; }'.
嘿,明白了!我会用你建议的第二种方式去做。在一个问题上这么多小时! – mikey8989