码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Vue2中Echarts组件二次封装


    Echarts官网(Apache ECharts)

    下载npm install echarts

    在哪里用哪里引入import * as echarts from 'echarts';

    根据步骤进行将图表渲染到页面

    app.vue

    1. <template>
    2. <!-- 就传这个图表 -->
    3. <MyEcharts :options="options" ></MyEcharts>
    4. <button @click="changeOpt">切换样式</button>
    5. <RouterView />
    6. </template>
    7. <script>
    8. import MyEcharts from './components/MyEcharts.vue'
    9. import {options1,options2} from './options'
    10. import _ from 'lodash';
    11. export default {
    12. name: 'App',
    13. components: {
    14. MyEcharts
    15. },
    16. data(){
    17. return {
    18. //创建一个options.js文件
    19. options:options1,
    20. //宽度
    21. width:"600px"
    22. }
    23. },
    24. methods: {
    25. changeOpt() {
    26. if (_.isEqual(this.options, options1)) {
    27. this.options = options2; // 切换到options2
    28. console.log('Switched to options2');
    29. } else {
    30. this.options = options1; // 切换回options1
    31. console.log('Switched to options1');
    32. }
    33. }
    34. }
    35. }
    36. </script>
    37. <style scoped>
    38. </style>

    options.js

    1. export const options1 = {
    2. color:['rad'],
    3. title: {
    4. text: "ECharts 入门示例",
    5. },
    6. tooltip: {},
    7. legend: {
    8. data: ["销量"],
    9. },
    10. xAxis: {
    11. data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
    12. },
    13. yAxis: {},
    14. series: [
    15. {
    16. name: "销量",
    17. type: "bar",
    18. data: [5, 20, 36, 10, 10, 20],
    19. },
    20. ]
    21. }
    22. export const options2 = {
    23. color:['tomato'],
    24. title: {
    25. text: "ECharts 入门示例1",
    26. },
    27. tooltip: {},
    28. legend: {
    29. data: ["销量"],
    30. },
    31. xAxis: {
    32. data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
    33. },
    34. yAxis: {},
    35. series: [
    36. {
    37. name: "销量",
    38. type: "bar",
    39. data: [50, 100, 36, 100, 200, 250],
    40. },
    41. ]
    42. }

    MyEcharts.vue

    1. <template>
    2. <div :id="uuid" :style="style" >div>
    3. template>
    4. <script>
    5. import * as echarts from "echarts";
    6. //准备一个生成uuid的方法
    7. const idGen=()=>{
    8. return new Date().getTime()
    9. }
    10. export default {
    11. props:{
    12. height:{
    13. type:String,
    14. default:"400px"
    15. },
    16. width:{
    17. type:String,
    18. default:"600px"
    19. },
    20. options:{
    21. type:Object,
    22. default:null
    23. }
    24. },
    25. data() {
    26. return {
    27. //现将id改为自动生成的
    28. uuid: null,
    29. myChart:null
    30. };
    31. },
    32. //实现响应式
    33. watch:{
    34. options(){
    35. if(this.myChart){
    36. this.myChart.setOption(this.options)
    37. }
    38. }
    39. },
    40. computed:{
    41. style(){
    42. return {
    43. height:this.height,
    44. width:this.width
    45. }
    46. }
    47. },
    48. created(){
    49. this.uuid = idGen();
    50. },
    51. //一进入页面就开始渲染Echarts图表
    52. mounted() {
    53. //官方流程
    54. // 基于准备好的dom,初始化echarts实例
    55. //准备实例
    56. this.myChart = echarts.init(document.getElementById(this.uuid));
    57. // 指定图表的配置项和数据
    58. //组织配置项
    59. // 使用刚指定的配置项和数据显示图表。
    60. //应用配置项
    61. this.myChart.setOption(this.options);
    62. },
    63. };
    64. script>

  • 相关阅读:
    SSM之Spring注解式缓存Redis以及redies中的击穿,雪崩,穿的三种现象
    C++ 结合mysql写一个服务端
    springBoot 读取yml 配置文件的三种方式 (包含以及非component下)
    炫酷又高效的数据可视化大屏,做起来真的没那么难!丨极客星球
    Python爬虫之简单学习BeautifulSoup库,学习获取的对象常用方法,实战豆瓣Top250
    gitlab安装配置及应用
    微信公众号window.open(url, '_blank');打不开网页
    阿里云国际修改域名绑定的DDoS高防服务器
    基于JAVA疫情防控期间人员档案追演示录像上计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    YOLO系列 -- txt2xml脚本
  • 原文地址:https://blog.csdn.net/Wx001214/article/details/139686935
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号