I have employees array of objects in my Angular App. I need to put type for it instead of any, so i have defined interface. But i get the error as below.
ERROR in src/app/newComp/employee/employee.component.ts(11,3): error TS2322: Type '{ empID: string; name: string; gender: string; salary: number; DOB: string; }[]' is not assignable to type 'Employees'. Property 'empID' is missing in type '{ empID: string; name: string; gender: string; salary: number; DOB: string; }[]'. src/app/newComp/employee/employee.component.ts(20,7): error TS2322: Type '{ empID: string; name: string; gender: string; salary: number; DOB: string; }[]' is not assignable to type 'Employees'. Property 'empID' is missing in type '{ empID: string; name: string; gender: string; salary: number; DOB: string; }[]'.
How to solve this? Here is my whole code.
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>{}