Вы можете получить или не получить ошибку в зависимости от того, когда вы инициализируете свои данные.
Если вы инициализируете данные, т.е. myObject
до инициализации view , вы не получите сообщение об ошибке. И это не имеет ничего общего с геттером.
так, чтобы оставаться в безопасности при инициализации представления, вы можете использовать оператор безопасной навигации (?) Как этот.
<div class="row">
<div class="col-xs-12">
{{ myObject?.myProps?.someProperty1 }}
</div>
<div class="col-xs-12">
{{ myObject?.someProperty2 }}
</div>
</div>
Или вы можете использовать директиву *ngIf
, чтобы обеспечить доступ к свойствам myObject
только когда определено myObject
.
<div class="row" *ngIf="myObject">
<div class="col-xs-12" *ngIf="myObject.myProps">
{{ myObject?.myProps?.someProperty1 }}
</div>
<div class="col-xs-12">
{{ myObject?.someProperty2 }}
</div>
</div>
Я создал одну простую демонстрацию stackblitz , чтобы лучше ее понять. Также вы можете прочитать больше о жизненном цикле угловых компонентов здесь https://angular.io/guide/lifecycle-hooks.