【发布时间】:2018-01-25 10:33:27
【问题描述】:
我正在使用 Angular2 + d3js 来绘制图表。将鼠标移到图表上时有一个工具提示。目前我正在将“div”直接附加到“body”并在d3.select("svg").on("mouseover", function(d){...}).中移动鼠标时动态生成innerHTML
var div = d3.select("body").append("div")
.attr("class", "tooltip")
.style("opacity", 10);
d3.select("svg").on("mouseover", function(d) {
div.transition()
.duration(200)
.style("opacity", .9);
div.html("Tooltip Content Here")
.style("left", (d3.event.pageX) + 10 + "px")
.style("top", (d3.event.pageY - 28) + "px");
});
因为我在 Angular2 中使用这个,所以我认为应该将工具提示移到另一个组件/指令中以分离逻辑。组件可能如下所示:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-tooltip',
templateUrl: './tooltip.component.html',
styleUrls: ['./tooltip.component.css']
})
export class TooltipComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
但是如何将创建的组件附加到 d3.select("svg") 的 mouseover 函数中呢?或者如何直接在另一个组件中使用“app-tooltip”选择器? 谢谢!!
【问题讨论】:
标签: javascript angular d3.js