如何在Angular 2中正确地重用D3.js组件?
问题描述:
我想重用角2如何在Angular 2中正确地重用D3.js组件?
@Component({
selector: 'child-cmp',
template: `
<div>
<svg class="chart"></svg>
</div>
`
})
export class ChildCmp {
ngOnInit() {
let chart = d3.select(".chart")
.append("g")
.append("rect")
.attr("width", 50)
.attr("height", 100);
}
}
http://plnkr.co/edit/PnJfFJ7sOZIxehs2LHNh?p=preview
这D3.js组件但是,您可以在这个演示中看到,两个矩形不能表现出很好的一起。
如何正确重用这些D3.js组件?由于
答
我会尝试这样的事情:
@Component({
selector: 'child-cmp',
template: `
<div>
<svg class="chart"></svg>
</div>
`
})
export class ChildCmp {
constructor(private eltRef:ElementRef) {}
ngAfterViewInit() {
let chart = d3.select(this.eltRef.nativeElement)
.select('.chart')
.append("g")
.append("rect")
.attr("width", 50)
.attr("height", 100);
}
}
看到这个plunkr:http://plnkr.co/edit/lqFGoEvnvGw4PvCs8OWg?p=preview。
谢谢,Thierry,但您提供的链接确实显示任何矩形,可能是错误的链接?我会很快回来。 –
哎呀,我忘了救plunkr :-(现在应该会更好... –
谢谢,作品完美! –