angular - "export 'mouse' (importerat som 'd3') hittades inte i 'd3'"
Jag försöker använda en d3.mouse()-funktion i Angular, men den ger det felet.
Jag försökte också använda d3.pointer, men det säger att den funktionen inte ens finns.
Jag har installerat d3 i mitt projekt med npm:
npm install d3 && npm install @types/d3 --save-dev
Tack på förhand.
Typescript-kod:
// Draw the X-axis on the DOM
this.svg.append("g")
.attr("transform", "translate(0," + this.height + ")")
.call(d3.axisBottom(x))
.selectAll("text")
.attr("transform", "translate(-10,0)rotate(-45)")
.style("text-anchor", "end")
.on('mousemove', function(d){
// recover coordinate we need
var mouse = d3.mouse(this);
var x0 = x.invert(mouse[0]); // invert transforma a cordenada no valor correspondente à ela no eixo X
var y0 = y.invert(mouse[1]);
// move o cursor pontilhado ao longo do svg conforme movimento do mouse
d3.select("[name=cursor]")
.attr("d", function() {
var d = "M" + mouse[0] + "," + svgHeight;
d += " " + mouse[0] + "," + 0;
return d;
});
});
Svar #1
Du har installerat d3 version 6. Från versionsinformationen:
Ta bort d3.mouse, d3.touch, d3.touches, d3.clientPoint; lägg till d3.pointer och d3.pointers.
Antingen nedgradera till d3 version 5, eller använd d3.pointer istället.