Comments (7)
I think #10 is not a proper solution to solve it.
Suppose there is a transition with 1s and I set destroyDelay
to 1s, someday I extend transition to 2s, then I have to change destroyDelay
too, I think components should not coupled with its style.
In this situation, we may use <keep-alive>
to solve it.
<keep-alive>
<modal v-if="showModal" @close="showModal = false">
<h3 slot="header">custom header</h3>
</modal>
</keep-alive>
from vue-highcharts.
Original build that shows problem: https://jsfiddle.net/mwLbw11k/355/
Modified build with empty onDestroy function: https://jsfiddle.net/2ejeq43y/2/
from vue-highcharts.
Remove beforeDestroy may cause memory leak, you can find it with Chrome DevTools, repeat show and hide Modal several times, click Profiles -> Take Heap Snapshot -> Take Snapshot, then find Detached DOM tree.
Maybe we should find other ways to fix it.
from vue-highcharts.
I tried to replace beforeDestroy
with destroyed
, but found that destroyed
is also triggered before afterLeave
, and it's intended behavior in 2.x.
from vue-highcharts.
Okay, good to know. I'll play around with some possible solutions today.
from vue-highcharts.
I've found a solution. chart.destroy() needs to be called for there to be no memory leak. However, if you wait a delay inside the beforeDestroy event, this.chart becomes null and you cannot call destroy() on it. Highcharts, however, saves all the charts globally in Highcharts.charts. If you store the chart id in beforeDestroy, wait a delay for a transition to finish, then call the destroy() function on the chart stored in the Highcharts.charts array, the problem is solved.
I've forked the repo and added a destroyDelay prop that gives the option of putting in a millisecond amount before the highcharts is destroyed. I've run the build process, forked the repo, and opened a pull request. Please feel free to change the prop name.
Fix can be played with here: https://jsfiddle.net/hpkoemtw/2/
from vue-highcharts.
That solution works, thanks!
from vue-highcharts.
Related Issues (20)
- How to change Highcharts object configuration locally? HOT 4
- why highstocks use this method does not take effect HOT 1
- how to extend it HOT 2
- 在vue中反复加载会导致图表显示不出来 HOT 1
- 如何在使用vue-router的情况下在其余的component中使用 HOT 5
- Dynamic Chart Example HOT 2
- Exporting CSV HOT 2
- Highcharts this.$refs undefined in mounted HOT 4
- solid gauge tag HOT 1
- Using HTML to render custom image labels on xAxis does not work under this wrapper HOT 6
- Drilldown in Map HOT 1
- vue-highcharts with typescript HOT 1
- vue-highcharts使用 MIT 证书是否合理? HOT 3
- 把垃圾代码库删除吧~~~
- highstock组件不起作用
- highcharts-gantt HOT 2
- 推荐使用 Highcharts 官方维护的 Vue 包 HOT 1
- missingModuleFor: bullet" HOT 1
- this.$refs is undefined inside of hover events HOT 5
- keyboard accessibility? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vue-highcharts.