属性中的角度分量输出

时间:2017-10-09 14:46:06

标签: angular vis.js

我有以下组件实现接口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模板实现普通类。

由于

0 个答案:

没有答案