Ошибка в консоли, но отображается в браузере
У меня есть проблема в моем угловом приложении, которое говорит ОШИБКА TypeError: Невозможно прочитать свойство 'name' из undefined, но отображается projects.name. Как я могу избавиться от ошибки в console.log. Данные содержат объект.
ngOnInit() {
this.route.params
.subscribe((params: Params) => {
this.id = +params['id'];
this.projectsService = this.injector.get(ProjectsService);
this.projectsService.getProject(this.id)
.subscribe(
(data:any) => {
this.projects = data;
console.log(data);
},
error => {
alert("ERROR");
})
});
}
2 ответа
Решение
Похоже, вы использовали непосредственно projects.name
а также projects
получает Ajax. Этот код не работает, потому что он пытается projects.name
привязка при первом запуске обнаружения изменений.
В таких случаях Use Safe Navigation / Elvis
оператор
{{projects?.name}}
Вы можете использовать {{projects?.Name}} или вам следует инициализировать свои проекты... лучший способ - использовать интерфейс и класс для ваших проектов.