Vue中使用Cytoscape.js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue中使用Cytoscape.js相关的知识,希望对你有一定的参考价值。

参考技术A 在Vue中使用一些第三方库时,很容易犯的错误是直接把第三方库的对象放在Vue的data属性中。

例如在使用 Cytoscape.js 时,用下面这种声明方式。

这样做的确是方便后面的操作,但问题是,这种对象特别大,嵌套层级很深,如下图所示,如果直接放在data里,vue的响应式机制,会监听cy的每个属性,开销巨大,CPU占用瞬间到100%。

所以在使用 Cytoscape.js 、 Echarts.js 与vue结合时,要避免直接放在data属性中。一种方法是,在 mounted() 里引入该对象。

另一种方法是用 Object.freeze()

这两个方法,都能避免vue的响应式开销,后面也能够正常操作 this.cy 对象。

以上是关于Vue中使用Cytoscape.js的主要内容,如果未能解决你的问题,请参考以下文章

Cytoscape.js eles.style 更改立即更新

Cytoscape.js 的性能和布局

带有固定节点的 Javascript cytoscape.js 自动布局

Cytoscape.js 乔木布局画布渲染器?

cytoscape.js 图,仅显示/绘制少数节点和边缘

如何在不使用 cytoscape.js 重绘图形的情况下删除特定边?