trading-vue.js是一个仿tradingview的前端框架,在金融数据的可视化场景中会可以被用到,项目路径在此。但是在trading-vue中有一个问题,就是它在连续几个小时的展示页面后,会出现浏览器的内存占用过大以及浏览器的崩溃问题
chrome的内存占用情况

针对这个问题,在trading-vue.js的讨论区有人给出了解决方案
https://github.com/tvjsx/trading-vue-js/issues/139

链接如下所示,https://github.com/vadymkop/TradingVueMemoryLeak
其实他是给了一个解决方案的项目,在项目中的核心代码如下所示:
// 1 case - without memory leak
// this.$refs.tradingVue.goto(this.dc.data.chart.data[this.dc.data.chart.data.length - 1][0])
// 2 case - with memory leak
this.$refs.tradingVue.resetChart()
大概意思就是使用一种移位的操作来取代原来的resetChart(),然后就可以避免这个内存泄露的问题,所以我们使用的时候用这里的这一行代码
this.$refs.tradingVue.goto(this.dc.data.chart.data[this.dc.data.chart.data.length - 1][0])
来代替resetChart函数就可以,没有必要直接运行这个项目,这里在说一下,在一些tradingvue的写法里,使用的是
this.$refs.tvjs
而不是
this.$refs.tradingVue
然后上图中代码里的,
this.dc
也要替换为我们自己项目中的图像容器名称,比如说是datacube或者whatever