Я получаю следующую ошибку в Angular 6. Я показываю данные json, которые были возвращены из базы данных. Когда я создаю console.log в файле .ts, он показывает мне весь массив с данными. Даже при этом появляется сообщение об ошибке, указывающее, что firstName не определено, но в соответствующем месте отображается правильное имя firstName. Даже если я использую *ngIf="user.firstName", ошибка останется той же. Если я помещаю другой атрибут в массив перед user.firstName, ошибка передается этому атрибуту и ​​отображает правильный результат.

Например:

{{user.firstName}}

ОШИБКА TypeError: невозможно прочитать свойство " firstName " неопределенного значения. в Object.eval [как updateDirectives]

{{user.lastName}}
{{user.firstName}}

ОШИБКА TypeError: невозможно прочитать свойство " lastName " неопределенного значения. в Object.eval [как updateDirectives] Ошибка будет отображаться только для lastName здесь.

Могу я узнать причину этого.

1
Shyamali 5 Окт 2018 в 06:47

1 ответ

Лучший ответ

Используйте безопасный оператор навигации?.

{{user?.lastName}}
{{user?.firstName}}

Это пользователь, который не определен.

Вы также можете использовать

<ng-container *ngIf="user">
    {{user.lastName}}
    {{user.firstName}}
<ng-container>
8
Adrian Brand 5 Окт 2018 в 05:42