Я, по жизни, не могу понять, почему я не могу получить доступ к собственности на угловом 6 классе.Вот некоторый код:
@Component({
selector: 'admin-badge-component',
templateUrl: './badge.component.html'
})
export class AdminBadgeComponent implements OnInit {
// Badge Object
public badgeObject: IVisitorBadge = null;
// On Init
public ngOnInit() {
this.route.params.subscribe((params) => {
// Get Badge Object From API
this.visitorService.getVisitorBadge(params['aid'],params['vid'])
.subscribe((response: IVisitorBadge) => {
console.log(response);
this.badgeObject = response;
});
});
}
}
console.log
выводит все данные, как и предполагалось:
{
"id":2,
"visit_id":325,
"visitor_id":45,
"created_at":"2018-09-29 15:00:10",
"updated_at":"2018-09-29 15:00:10",
"visitor": {
...
"firstname": "matthew",
"lastname": "brown",
...
}
}
Однако, когда я иду к доступу и отображаю имя посетителя в моем шаблоне, используя следующуюкод:
<div>
<h3>
{{ badgeObject?.visitor?.firstname }} {{ badgeObject?.visitor?.lastname }}
</h3>
</div>
Ничего не отображается.Если я пытаюсь получить доступ к свойствам напрямую без обозначения ?
, я получаю cannot access 'firstname' of undefined
.Даже если я оберну шаблон в *ngIf
и сначала проверю свойство.Я также попытался установить и установить loadingBool
, который получает значение false после получения ответа API, и использовать его в *ngIf
по-прежнему ничего.
Вот снимок экрана полного класса: https://imgur.com/a/eEfCSL3