vue引入echarts.min.js,vue+echart

  vue引入echarts.min.js,vue+echart

  这篇文章主要介绍了Vue-cli3中如何引入展示并实现自适应,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  

目录

   如何引入展示并实现自适应效果脚手架使用展示并封装展示组件1.导入电子海图2。封装展示组件3.父组件引用测试

  

如何引入ECharts并实现自适应

  

效果

  1. 安装echarts

  新公共管理安装电子海图

  2. components/echarts/index.vue

  模板

  style={height:height,width:width} /

  /模板

  脚本

  从"电子海图"导入电子海图

  要求( e图表/主题/马卡龙)//电子海图主题

  从" @/utlis/index.js "导入{去反跳}

  常量动画持续时间=6000

  导出默认值{

  道具:{

  类名:{

  类型:字符串,

  默认:"图表"

  },

  宽度:{

  类型:字符串,

  默认值:"100%"

  },

  高度:{

  类型:字符串,

  默认值:"100%"

  },

  //数据源

  echartsData: {

  类型:对象,

  默认值:{}

  },

  },

  data() {

  返回{

  图表:空,

  }

  },

  观察:{

  },

  //初始化

  已安装(){

  this.initChart()

  this.resizeHandler=去抖(()={

  如果(此图){

  this.chart.resize()

  }

  }, 100)

  窗户。addevent侦听器( resize ,this.resizeHandler)

  },

  //销毁

  销毁前(){

  如果(!this.chart) {

  返回

  }

  窗户。移除事件侦听器( resize ,this.resizeHandler)

  this.chart.dispose()

  this.chart=null

  },

  方法:{

  initChart() {

  this.chart=echarts.init(this .$埃尔,”马卡龙")

  这个。图表。setoption(这个。echartsdata,动画持续时间)

  }

  }

  }

  /脚本

  3. utlis/index.js

  导出函数去抖(函数,等待,立即){

  让超时,参数,上下文,时间戳,结果

  const later=function() {

  //据上一次触发时间间隔

  const last=new Date() -时间戳

  //上次被包装函数被调用时间间隔最后的小于设定时间间隔等待

  如果(最后等待最后0) {

  timeout=setTimeout(稍后等待-最后)

  }否则{

  超时=空

  //如果设定为立即===真,因为开始边界已经调用过了此处无需调用

  如果(!立即){

  结果=func.apply(上下文,参数)

  如果(!超时)上下文=参数=空

  }

  }

  }

  返回函数(.args) {

  上下文=这个

  时间戳=新日期()

  const callNow=immediate!超时

  //如果延时不存在,重新设定延时

  如果(!timeout) timeout=setTimeout(稍后,等待)

  如果(立即呼叫){

  结果=func.apply(上下文,参数)

  上下文=参数=空

  }

  回送结果

  }

  }

  4. 在.vue 中使用 test/index.vue

  模板

  div id=test

  echarts:echartsData= echartsData /

  /div

  /模板

  脚本

  从" @/components/echarts/index "导入展示

  导出默认值{

  组件:{

  展示

  },

  data() {

  返回{

  echartsData: {

  工具提示:{

  触发器:"轴",

  axisPointer: { //坐标轴指示器,坐标轴触发有效

  类型:影子//默认为直线,可选为:线条 阴影

  }

  },

  网格:{

  top: 10,

  左:"2%",

  对:"2%",

  底部:"3%",

  containLabel: true

  },

  xAxis: [{

  类型:"类别",

  数据:[周一,周二,周三,周四, Fri ,周六,周日],

  轴棒:{

  alignWithLabel: true

  }

  }],

  亚西斯:[{

  类型:"值",

  轴棒:{

  显示:假

  }

  }],

  系列:[{

  名称: pageA ,

  类型:"条形",

  堆栈:"访问者",

  条宽:"60%",

  数据:[79,52,200,334,390,330,220],

  }, {

  名称: pageB ,

  类型:"条形",

  堆栈:"访问者",

  条宽:"60%",

  数据:[80,52,200,334,390,330,220],

  }, {

  名称: pageC ,

  类型:"条形",

  堆栈:"访问者",

  条宽:"60%",

  数据:[30,52,200,334,390,330,220],

  }]

  }

  }

  }

  }

  /脚本

  style lang=scss 范围

  #测试{

  宽度:100%;

  身高:100%;

  背景:仿古白;

  位置:绝对;

  top:0px;

  底部:0px

  }

  /风格

  

Vue-cli使用ECharts并封装ECharts组件

  

1. 导入echarts

  终端输入

  cnpm安装电子海图-保存

  main.js中介绍的

  从“eCharts”导入*作为e charts;

  vue . prototype . $ e charts=e charts;

  

2. 封装echarts组件

  新组件echats.vue

  首先要明确的是,Echarts图形必须满足四个刚性条件才能绘制:

  准备容器);有宽度和高度;每次绘图前需要初始化(init);必须设置配置,否则无法绘制(选项);更改数据时,必须传入已更改的数据,否则无法监控新数据(setoption);1.容器注意,容器的宽度和高度可以通过v-bind绑定样式的参数styleObj(父组件引用它时传递)来设置,这样在应用echats组件时可以自由设置宽度和高度。

  模板

  div id= myChart :style= style obj ref= chart

  /div

  /模板

  2.初始化配置因为初始化需要获取容器的dom,所以需要在mouted的生命周期中进行初始化。

  已安装(){

  //因为需要获得容器,所以必须挂载它

  this.init()

  },

  方法:{

  init(){

  让图表=这个。$eCharts.init(this。$refs.chart)

  let option={

  xAxis: {

  类型:“类别”,

  数据:[周一,周二,周三,周四, Fri ,周六,周日],

  },//X轴

  YAxis: {type: value },//Y轴

  系列:[

  {

  数据:[120,200,150,80,70,110,130],

  类型:“条形”,

  }]//配置项

  }

  chart.setOption(选项)

  }

  }

  

3. 父组件引用测试

  以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: