У моего родительского компонента есть следующие дочерние элементы
<app-table>
<div class="abc" #abc>
<h2>Date</h2>
<app-date></app-date>
</div>
<app-date></app-date>
<app-date></app-date>
</app-table>
У компонента My Table есть
<ng-content select=".abc"></ng-content>
...
<ng-content></ng-content>
В компоненте My app-table.ts у меня есть:
@ContentChildren(DateComponent, {read: DateComponent, descendants:true }) datechildren:QueryList<DateComponent>
...
ngAfterContentInit() {
console.log(this.datechildren.toArray().forEach((element)=>element.realdate));//this returns undefined
}
Наконец, у моего app-date ts есть
...
realdate: Date = new Date ();
intervalID:any;
constructor() { }
ngOnInit(): void {
setInterval(this.intervalID=() => {
this.realdate = new Date();
}, 100);
}
Когда я пытаюсь console.log(this.datechildren.toArray())
, я могу видеть массив, но как только я oop в свойствах элемента, я получаю неопределенный .
Я пробовал
this.datechildren.changes.subscribe((changes: any) => console.log(this.datechildren.toArray().forEach((element)=>element.realdate)));
Пробовал с {read: DateComponent, descendants:true }
и без него. Я также попытался удалить содержимое класса ab c ng, оставив только один контент ng, по-прежнему не работает. Я также пытался вызвать другие свойства, даже простую строку, но она по-прежнему не определена.
Пожалуйста, помогите с поиском realdate или других свойств.
Спасибо.