我有以下组件实现接口DataItem。
@Component({
selector: 'timeline-box',
templateUrl: './timeline-box.component.html',
styleUrls: ['./timeline-box.component.css']
})
export class TimelineBoxComponent implements OnInit, DataItem {
id: IdType;
content: string;
start: DateType;
end: DateType;
constructor( elem: TimelineElement ) {
this.id = elem.id;
this.content = '<p>' + elem.title + '</p>';
this.start = new Date(elem.start);
this.end = new Date(elem.end);
}
ngOnInit() {}
}
我的问题是属性&#34; content&#34;,第三方组件使用它来打印我的元素。我想从构造函数中删除html并以某种方式使用组件的模板。
所以我认为我需要&#34;重定向&#34;以某种方式在变量内容中输出组件。我该怎么做?有更好的方法吗?
界面是外部模块(ng-vis)的一部分,我无法改变它。
更新
此刻的组件被用作普通类,也许它根本不应该是一个组件。
@Component({
selector: 'timeline',
templateUrl: './timeline.component.html',
styleUrls: ['./timeline.component.css']
})
export class TimelineComponent implements OnInit {
items: VisTimelineItems;
timeline: Timeline;
constructor(private element: ElementRef, private elementService: TimelineElementService) {}
ngOnInit() {
this.items = new VisTimelineItems( );
this.elementService.getElements(1507500000).then( this.extractData.bind(this) );
this.timeline = new Timeline(this.element.nativeElement, this.items);
}
extractData( array: TimelineElement[] ) {
for (var obj of array) {
this.items.add(new TimelineBoxComponent(obj));
}
this.timeline.redraw();
}
}
正如你所看到的,TimelineBoxComponent被用作模块的数据源,现在我写它真的错了:)但我不知道如何用html模板实现普通类。
由于