Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

224
Views
Eliminando el método de ajuste extendido de Highcharts.wrap

¿Cómo puedo eliminar o deshacer manualmente una envoltura en un prototipo de clase de Highcharts?

Actualmente tengo esto en una clase en Angular y parece que la envoltura se aferra a mi método como un cierre incluso después de que se destruye el componente.

 import * as Highcharts from 'highcharts'; export class ExampleComponent implements OnDestroy constructor() { function logRefresh(H) { H.wrap(H.Tooltip.prototype, 'refresh', function(proceed, point) { proceed.apply(this, Array.prototype.slice.call(arguments, 1)); console.log(proceed, point); }); } logRefresh(Highcharts); } ngOnDestroy(): void { ... } }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El método de ajuste sobrescribe una función original en el prototipo de Highcharts, por lo que es un cambio permanente. Puede comprobar cómo funciona exactamente el método aquí .

Como solución, puede almacenar una función original en algún lugar, por ejemplo:

 H.wrap(H.Tooltip.prototype, 'refresh', function(proceed) { console.log('refresh'); if (!H.Tooltip.prototype.refreshOriginal) { H.Tooltip.prototype.refreshOriginal = proceed; } proceed.apply(this, Array.prototype.slice.call(arguments, 1)); });

Y restaurarlo cuando quieras.

 const tooltipProto = H.Tooltip.prototype; // restore original refresh function tooltipProto.refresh = tooltipProto.refreshOriginal; delete tooltipProto.refreshOriginal;

Demostración en vivo: http://jsfiddle.net/BlackLabel/nfqcwhk6/

Documentos: https://www.highcharts.com/docs/extending-highcharts/extending-highcharts

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!