我到处搜寻,但没有运气。 这是打字稿:
@Input("dayInfoComponent") DayView: Type<IDayViewComponent>;
@ViewChildren(CalendarPosition, { read: ViewContainerRef }) calendarPositions: QueryList<ViewContainerRef>;
public ngAfterViewInit() {
let i = 1;
this.calendarPositions.forEach(viewRef => {
const factory = this.factoryResolver.resolveComponentFactory(this.DayView);
var compRef = viewRef.createComponent<IDayViewComponent>(factory);
compRef.instance.Day = i++;
});
}
这是html:
<td *ngFor="let day of Days">
<template calendarPosition info="{{day}}">
</template>
</td>
我应该以某种方式将ViewContainerRef转换为我的指令,以便能够从指令(保存日期的指令的“ info”字段)中读取数据,我可以使用一些黑手党的方法,但我不喜欢它,有没有更好的解决方案?