Angular 未定义[]缺少类型中的以下属性

Angular 未定义[]缺少类型中的以下属性,angular,typescript,Angular,Typescript,当我试图将空值赋给一个类型已声明的数组时,出现了这个错误。这是导致错误的代码 export interface EmiCalculator { emi: number; months: number; position: number; principal: number; roi: number; } emiResults: EmiCalculator = []; 下面是产生错误的行 export interface EmiCalculator {

当我试图将空值赋给一个类型已声明的数组时,出现了这个错误。这是导致错误的代码

export interface EmiCalculator {
    emi: number;
    months: number;
    position: number;
    principal: number;
    roi: number;
}
emiResults: EmiCalculator = [];
下面是产生错误的行

export interface EmiCalculator {
    emi: number;
    months: number;
    position: number;
    principal: number;
    roi: number;
}
emiResults: EmiCalculator = [];
如何将空数组分配给类型已声明的属性。

计算器是对象,[]是数组。您可能需要一个Celeculator数组,它可以写为Celeculator[]或数组


您将为对象指定一个数组

接口本质上定义了对象的结构,因此不能将数组指定给对象

你可能要找的是

emiResults: Array<EmiCalculator> = [];
当你写作时

emiResults: EmiCalculator = [];
您正在将空数组分配给类型定义为“计算器”的变量emiResults

接口定义对象的结构。因此,EMI结果的类型是对象。但是您正在分配一个数组

您可能需要执行以下任一操作

let emiResults: EmiCalculator[] = [];
或者您可以使用Typescript通用语法

let emiResults: Array<EmiCalculator> = [];

数组=[];&emiResults:Array[]@anonymous none,同一类型的不同书写方式感谢您的回答。Array=[];&EMI结果:计算器[],但在您的情况下,回答的次数并不重要。对你的答案投了赞成票。不能接受两个以上的答案。很好,提香比我快,他们的答案很好。你的答案和其他人有什么不同?他们和这里贴的其他人完全一样。是的,答案是一样的。我只是想解释一下。