vue集成chart.js的实现方法
作者:改改心情
这篇文章主要介绍了vue集成chartjs的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
指令
该指令的作用是dom渲染后触发,因为非vue的插件有的是dom必须存在的情况下才可以执行
Vue.directive('loaded-callback', {
inserted: function (el, binding, vnode) {
binding.value(el, binding, vnode)
}
})
安装chartjs
npm install chart.js --save
chartjs 组件
<template>
<canvas refs="chartcanvas" v-loaded-callback="setCanvas"></canvas>
</template>
<script type="text/javascript">
require('chart.js')
export default{
name: 'components-base-chartjs',
props: {
'data': {},
'options': {},
'type': {}
},
data:function(){
return {
canvas: null,
chart: null
}
},
watch:{
canvas: function () { // chart对象生成时触发
this.initChart()
},
data: {
handler: function () { // 数据变化时触发
this.updateChart()
},
deep: true
}
},
destoryed:function (){
if(this.cahrt){
this.cahrt.destroy()
}
},
computed: {
currentOptions: function (){
var options = {}
if(this.options){ // 加载自定义配置参数
for(var i in this.options){
options[i] = this.options[i]
}
}
return options
}
},
methods: {
setCanvas: function(el){ // dom生成时触发
this.canvas = el
},
initChart: function () { // 更新chart结果
if(this.data && this.currentOptions){ // 保证参数的存在
this.chart = new Chart(this.canvas.getContext('2d'),{
type: this.type,
data: this.data,
options: this.currentOptions
})
}
},
updateChart: function () { // 更新chart结果
this.chart.data = JSON.parse(JSON.stringify(this.data))
this.chart.update()
}
}
}
</script>
用法
<chartjs :options="options" type="pie" :data="data"></chartjs>
options 及数据结构
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- 使用Chart.js图表库制作漂亮的响应式表单
- Chart.js 轻量级HTML5图表绘制工具库(知识整理)
- 详解Chart.js轻量级图表库的使用经验
- 在 Angular 中使用Chart.js 和 ng2-charts的示例代码
- 使用Vue.js 和Chart.js制作绚丽多彩的图表
- ichart.js绘制虚线、平均分虚线效果的实现代码
- Chart.js在Laravel项目中的应用示例
- 利用ECharts.js画K线图的方法示例
- JavaScript Chart 插件整理
- 详解vue文件中使用echarts.js的两种方式
- vue.js+Echarts开发图表放大缩小功能实例
- Chart.js功能与使用方法小结
