如何在Typescript angular

时间:2018-10-24 10:07:34

标签: angular typescript interface

我的Angular应用程序中有员工个对象数组。我需要输入 type 而不是 any ,所以我定义了 接口 。但是我得到如下错误。

  src / app / newComp / employee / employee.component.ts(11,3)中的

ERROR:错误TS2322:类型'{empID:string;名称:字符串;性别:字符串;工资: DOB:字符串; } []'不可分配给'Employees'类型。     类型'{empID:string;类型中缺少属性'empID'。名称:字符串;性别:字符串;工资: DOB:字符串; } []'。   src / app / newComp / employee / employee.component.ts(20,7):错误TS2322:键入'{empID:字符串;名称:字符串;性别:字符串;工资: DOB:字符串; } []'不可分配给'Employees'类型。     类型'{empID:string;类型中缺少属性'empID'。名称:字符串;性别:字符串;工资: DOB:字符串; } []'。

该如何解决?这是我的完整代码。

export class EmployeeComponent {
employees: Employees;
constructor() {
this.employees = [
{ empID: 'empid101', name: 'Jhon', gender: 'male', salary: 1200, DOB: '12/24/2016' },
{ empID: 'empid102', name: 'Nancy', gender: 'female', salary: 2445.23, DOB: '4/2/2016' },
{ empID: 'empid103', name: 'Julie', gender: 'female', salary: 5000.23, DOB: '4/14/2016' },
{ empID: 'empid104', name: 'Brito', gender: 'male', salary: 4352, DOB: '5/12/2016' }
];
}
/* tslint:disable */
refreshTheData(): void {
  this.employees = [
    { empID: 'empid101', name: 'Jhon', gender: 'male', salary: 1200, DOB: '12/24/2016' },
    { empID: 'empid102', name: 'Nancy', gender: 'female', salary: 2445.23, DOB: '4/2/2016' },
    { empID: 'empid103', name: 'Julie', gender: 'female', salary: 5000.23, DOB: '4/14/2016' },
    { empID: 'empid104', name: 'Brito', gender: 'male', salary: 4352, DOB: '5/12/2016' },
    { empID: 'empid105', name: 'Clark', gender: 'male', salary: 7543, DOB: '2/15/1990' }   ];    }



 interface Employees{
  empID: string,
  name: string,
  gender: string,
  salary: number,
  DOB: Date
}
interface Employees extends Array<Employees>{}

1 个答案:

答案 0 :(得分:1)

更改第2行。

雇员:雇员;员工:员工[];

See this for sample code

add_sheet("sh", true)