Я новичок в Angular8.
Я разрабатываю шаблон, который передает интерфейс другому субмикро-шаблону и отображает его.
Шаблон основного компонента:
<evt-bibliography-item *ngFor="let biblCit of biblCits"
biblField="{{ biblCit }}">
</evt-bibliography-item>
biblCits
это просто массив интерфейсов получено получено с:
// main component ts.
this.bps.getBibliographicCitations().subscribe(response => {
this.biblCits = response.citations;
Пока все ок. Проблема возникает при чтении одного интерфейса из подкомпонента, который учитывает все элементы массива undefined
.
Это файл ts:
import { Component, Input } from '@angular/core';
import { BibliographicCitation } from 'src/app/services/xml-parsers/bibliography-parser.service';
@Component({
selector: 'evt-bibliography-item',
templateUrl: './bibliography-item.component.html',
styleUrls: ['./bibliography-item.component.scss']
})
export class BibliographyItemComponent {
@Input() biblField: BibliographicCitation;
constructor() {
console.log(this.biblField) // [Object Object]
console.log(this.biblField.titles); // undefined
}
}
Под-шаблон:
<p *ngFor="let biblEl of biblField | keyvalue">
<em class="biblCitation">
{{ biblEl.value }}
</em>
</p>
Среди уловок я также безуспешно пробовал ngAfterViewInit
и setInterval
.
Я не могу понять, почему элементы не определены.
Надеюсь, ничего серьезного.