需求:echarts图表需要加入点击事件,项目是用指令使用echarts,并没有在页面实例echarts图表,那就需要一个统一的传参来实现:
1、话不多说上代码:
import Vue from 'vue'
const echarts = require('echarts')
/**
* 变量说明:
* el: html element,el=document.getElementById得到值
* binding:绑定变量。其中binding.value值为对象时即为echarts的option;值为数组时,索引0为echarts的option,索引1为echarts的event
* vnode:vue的虚拟节点
*/
export default {
deep: true,
bind(el, binding, vnode) {
// do nothing
},
inserted(el, binding, vnode) {
const self = vnode.context
Vue.nextTick(() => {
// options & events
let [options, events] = [{
}, {
}]
if (Array.isArray(binding.value)) {
options = binding.value[0] || {
}
events = binding.value[1] || {
}
} else {
options = binding.