Как определить интерфейс для сложных свойств в машинописи угловой - PullRequest
0 голосов
/ 24 октября 2018

У меня есть сотрудников массив объектов в моем приложении Angular.Мне нужно указать type вместо any , поэтому я определил interface .Но я получаю сообщение об ошибке, как показано ниже.

ОШИБКА в src / app / newComp / employee / employee.component.ts (11,3): ошибка TS2322: Тип '{empID: string;имя: строка;пол: строка;зарплата: номер;DOB: строка;} [] 'нельзя назначить типу «Сотрудники».Свойство 'empID' отсутствует в типе '{empID: строка;имя: строка;пол: строка;зарплата: номер;DOB: строка;} []».src / app / newComp / employee / employee.component.ts (20,7): ошибка TS2322: тип '{empID: строка;имя: строка;пол: строка;зарплата: номер;DOB: строка;} [] 'нельзя назначить типу «Сотрудники».Свойство 'empID' отсутствует в типе '{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 голосов
/ 24 октября 2018

Изменение строки № 2.

сотрудников: сотрудников;сотрудникам: сотрудники [];

См. пример кода

import { Component } from '@angular/core';

 interface Employees {
  empID: string;
  name: string;
  gender: string;
  salary: number;
  DOB: Date
}

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
name = 'Angular';
employees: Employees[];
constructor() {

this.employees = [
{ empID: 'empid101', name: 'Jhon', gender: 'male', salary: 1200, DOB: new Date('12/24/2016') }
];

  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...