Получение ошибки: Тип «Учитель []» нельзя назначить типу «Учитель» - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь добавить службу в мое angular приложение, но я не знаю, как исправить следующую ошибку:

Тип 'Teacher []' нельзя назначить типу 'Teacher' , Свойство 'name' отсутствует в типе 'Teacher []'.

export const TEACHERS: Teacher[] = [
  { name:'Negrut Marioara' ,gender: "Female" ,subject: 'Romanian' },
  { name:'Nagy Ridi Eniko' ,gender: "Female" ,subject: 'Maths' },
  { name: 'Sarkadi Viktoria' ,gender: "Female" ,subject: 'Hungarian' },
  { name:'Flonta Ioan' ,gender: "Male" ,subject: 'Latin' },
  { name:'Nagyvari Eniko' ,gender: "Female" ,subject: 'Physics' },
];
=============================================================================================
    export class Teacher {
    name: string;
    subject: string;
    gender: string;
  }
=====================================================================================================
@Component({
  selector: 'app-teachers',
  templateUrl: './teachers.component.html',
  styleUrls: ['./teachers.component.css']
})
export class TeachersComponent implements OnInit {

  teachers: Teacher
  selectedTeacher: Teacher;
  onSelect(teacher: Teacher): void {
    this.selectedTeacher = teacher;
  }
  constructor(private teacherService: TeacherService) {}

  ngOnInit() {
    this.getTeachers();
  }
  getTeachers(): void {
    this.teachers = this.teacherService.getTeachers();
  }

}

Ответы [ 2 ]

2 голосов
/ 12 марта 2020

Сообщение об ошибке означает, что массив Teacher не может быть назначен свойству, объявленному как один Teacher. Вам необходимо обновить объявление, чтобы оно представляло собой массив:

teachers: Teacher[];

Подсказка была в сообщении об ошибке все время

Тип 'Teacher []' не может быть назначен тип "Учитель"

1 голос
/ 12 марта 2020

В вашем компоненте свойство teachers должно быть набрано как array.

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