typescript - Angular D3 - Egenskapen 'getBoundingClientRect' finns inte på typen 'Window'
Jag har en stackblitz här - https://stackblitz.com/edit/ng-tootltip-ocdngb?file=src/app/bar-chart.ts
Jag har ett D3-diagram i en Angular-app.
Staplarna visar en verktygstips när man hovrar över dem.
På mindre skärmar är verktygstipset i mitten av fönstret.
För att göra detta behöver jag bredden på verktygstipset som jag får med
const toolTipWidth = tooltip.node().getBoundingClientRect().width;
Det här fungerar bra här men min faktiska app är en Angular CLI-app
Appen fungerar fortfarande men jag får felet
error TS2339: Property 'getBoundingClientRect' does not exist on type 'BaseType'.
Property 'getBoundingClientRect' does not exist on type 'Window'.
Vad är det för fel och kan jag stoppa det.
Svar #1
Du kan helt enkelt kasta tooltip.node() som any för att kringgå detta:
const toolTipWidth = (tooltip.node() as any).getBoundingClientRect().width;
Korrekt typ bör förmodligen vara HTMLElement, det borde också fungera:
const toolTipWidth = (tooltip.node() as HTMLElement).getBoundingClientRect().width;
