Это потому, что запрос, который возвращает restaurant
, является асинхронным. Следовательно, restaurant
будет неопределенным при первом отображении компонента, пока не будет возвращено наблюдаемое из метода restaurantdetail
.
Оператор elvis, также известный как оператор безопасной навигации,
защищает от нулевых и неопределенных значений в путях свойств. Здесь он защищает от ошибки визуализации представления, если элемент имеет значение null.
Следовательно, это требуется для вашего HTML шаблона:
<h1>{{restaurant?.name}}</h1>
Альтернативой этому будет использовать структурную директиву ngIf , которая проверяет, является ли restaurant
нулевым или неопределенным.
<h1 *ngIf="restaurant">{{restaurant.name}}</h1>