数据可视化应用 datart ,Vue跑马灯插件教程

大家好,我是小田!上次使用Jquery写了一个插件,不知道你学废了没有?!Jquery是个很厉害的库,但是每次都操作DOM,如果插件复杂点……所以这次我们用Vue写一个插件!

解释一下,开源数据可视化工具 datart 在github上很火

github和gitee上的地址

datart 1.0.0-beta.3 版发布了,详细信息请见 release note

Github:https://github.com/running-elephant/datart/releases/tag/1.0.0-beta.3
Gitee:https://gitee.com/running-elephant/datart/releases/1.0.0-beta.3

需要用到数据可视化的,可以加开源社群edpstack

话不多说,直接上硬货。

第一步,先引入我们的框架:

dependency: ['https://cdn.jsdelivr.net/npm/[email protected]'],

第二步:创建容器,并且拿到我们Vue对象:

这里需要注意,因为插件图表有一层iframe嵌套,操作DOM的时候需要使用content中的window和document!!!

不过这里我遇到了个大麻烦,最开始我是这样写的:

但是一切换图表......

后来我改成了这样

原因是切换的时候图表是会被隐藏起来的!所以第一次添加的实例其实还在保存着,第二次又在后面添加了新的实例!

接下来,创建起我们的Vue实例:

写实例里面的function 的时候,因为我习惯性的使用箭头函数,导致this指向的都是chart的this,导致我拿不到Vue实例本身,这里需要多注意!都是习惯惹的祸!

Template我是这么写的(js文件内只能想办法写行内样式了,要不就直接给data变量里面写):

 

data里面存储的变量数据:

Methods里面是方法:

Watch监听数据变化,更新需要的操作:

初始化调用计时器。

当数据更新时,更新到vue实例内(取值时,可能存在undefined的情况,如果可能影响渲染记得写好兼容):

卸载的时候不要忘了清除计时器,因为卸载的时候是操作的reactDom,vue的周期执行不全。

 

图片我是放在了public下面和插件放在了一起:

最后,看看最终的效果

 

维度数据是我写的csv,可以移步到datart-extension-charts库下plugins文件夹内查看,地址:

https://github.com/running-elephant/datart-extension-charts

 

Vue的双向绑定还是很好用的,而且template里面可以直接写一些逻辑判断,方便又省力。

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/5616568/blog/5518276
今日推荐