Здравствуйте.
Использую bootstrap для angular (ngx-bootstrap) и столкнулся с такой проблемой. У меня есть компонент personalInfo, который отображается при клике на строку таблицы. Компонент отображается в модальном окне следующим образом:
ShowPersonalInfo(person:any): void{
this.PersonalInfoModal = this.PIService.show(PersonalInfoComponent, {class: 'modal-lg'});
this.PersonalInfoModal.content.title = "Профиль врача";
this.personalInfo.getInfo(person.id).then(data => {
console.log(data.json());
this.PersonalInfoModal.content.person = data.json();
});
}
Так как компонент компилируется динамически, англяр требовал указать этот компонент в app.module в секции entryComponents. Я указал, сделал всё, что надо. Но теперь у меня не идёт пересылка объектов компонентам, которые вложены в компонент PersonalInfoComponent. Сам PersonalInfoComponent имеет следующий вид:
<div class="modal-header">
<h4 class="modal-title pull-left">{{title}}</h4>
<button type="button" class="close pull-right" aria-label="Close" (click)="PIModal.hide()">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<tabset>
<tab heading="Общая" id="tab1">
<div class="content">
<general-info [info]="person.general"></general-info>
</div>
</tab>
<tab heading="Проф. информация">
<div class="content">
<prof-info [info]="person.prof"></prof-info>
</div>
</tab>
<tab heading="Личная">
<div class="content">
<private-info [info]="person.personal"></private-info>
</div>
</tab>
<tab heading="Приезды">
<div class="content">
<arrivals></arrivals>
</div>
</tab>
<tab heading="Последипломная подготовка">
<div class="content">
<post-diploma></post-diploma>
</div>
</tab>
<tab heading="Прочие">
<div class="content">
<other-info></other-info>
</div>
</tab>
<tab heading="История">
<div class="content">
<history-info></history-info>
</div>
</tab>
</tabset>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" (click)="PIModal.hide()">Close</button>
</div>
Как быть и что нужно сделать, чтобы эти компоненты скомпилировались к тому моменту, как все данные придут из сервера? Сейчас при запуске у меня пишет следующее:
GeneralInfoComponent.html:1 ERROR TypeError: Cannot read property 'surname' of undefined
at Object.eval [as updateRenderer] (GeneralInfoComponent.html:11)