当前位置: 首页 > news >正文

vue 项目 对 echarts 组件 的封装使用

在vue项目中使用echarts,

1 我们要在项目中安装 echarts 依赖包

命令 : npm install echarts -S

2 引入echarts,可全局引入和 按需引入

全局引入:
在main.js 文件中引入

  		// 引入echarts  --- 在 main.js 中
		import echarts from 'echarts'
		Vue.prototype.$echarts = echarts 

然后我们创建一个echarts.vue 文件。
在 echarts.vue 中,初始化echarts实例进行绘制图形。

this.charts = this.$echarts.init(document.getElementById(id));

按需引入:

//在 echarts.vue 中
// 引入基本模板
let echarts = require('echarts/lib/echarts')
// 引入柱状图组件
require('echarts/lib/chart/bar')
// 引入提示框和title组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')

3 项目案例:

(1)实现方式:创建一个待渲染的dom

<template>
  <div>
    <div id="myLine" :style="echartStyle"></div>
  </div>
</template>

绘制函数:

// 绘制折线图
drawLine(id){
  this.charts = this.$echarts.init(document.getElementById(id));
  this.charts.on("click", this.eConsole);
  this.charts.setOption({
  	title: {
  		left: 'center',
	        text: this.titleText, //标题文本
	    },
	    tooltip: { // 提示信息
	        trigger: 'axis'
	    },
	    legend: { // 图例
	    	left: 'left',
	        data: this.opinion // 区域名称
	    },
	    grid: {
	        left: '3%',
	        right: '4%',
	        bottom: '3%',
	        containLabel: true
	    },
	    toolbox: {
	        feature: {
	            saveAsImage: {}
	        }
	    },
	    xAxis: {   // x 轴
	        type: 'category',
	        boundaryGap: false,
	        data: this.x
	    },
	    yAxis: {   // y 轴
	        type: 'value'
	    },
	    series: this.opinionData  // 区域数据
  })
}

初始化挂载到页面上:

mounted(){
	this.$nextTick(function() {
		this.drawLine('myLine')
	})
},

props:

echartStyle: {  // 样式 - 1
type: Object,
default() {
	return {}
	}
},
 
titleText: {   //标题文本 - 1
	type: String,
	default: ''
},
 
opinion: {    //区域名称 - 1
	type: Array,
	default() {
		return []
	}
},
 
opinionData: {   // 区域数据 - 1
	type: Array,
	default() {
		return []
	}
},
 
x: {  // x 轴
	type: Array,
	default() {
		return []
	}
}

(2) 控件使用,调用实例:

<m-line
  :echartStyle="s"
  :titleText="title"
  :opinion="barName"
  :opinionData="info"
  :x="barX">
</m-line>

传递数据:

import mLine from '../components/line'  // 引入组件

export default {
    components: { // 注册组件
        mLine,
    },
	data() {
		return {
	        s: {
	          height: ''
	        },
	        title: '动态统计',
	        barName: ['文档数', '任务数'],
	        barX: ['2019/03/01','2019/03/02','2019/03/03','2019/03/04','2019/03/05','2019/03/06','2019/03/07'],
	        info: [
	  	        {
	  	            name:'文档数',
	  	            type:'line',
	  	            stack: '总量',
	  	            data:[120, 132, 101, 134, 90, 230, 210]
	  	        },
	  	        {
	  	            name:'任务数',
	  	            type:'line',
	  	            stack: '总量',
	  	            data:[220, 182, 191, 234, 290, 330, 310]
	  	        }
	  	    ],
		}
	},
	created(){
	  this.s.height = 300 + 'px'
	},
}
这里主要传递四个参数到组件中,title、legend、series、xAxis,分别表示文章标题、区域名称、区域数据以及X轴坐标

可以看看官网对echarts
的介绍和使用
https://echarts.apache.org/examples/zh/index.html

相关文章:

  • 用户故事——需求的占位符
  • 截取视频中的 ‘暂停’ 操作,并让他自动不暂停
  • SQL学习之HAVING过滤分组
  • 项目中 处理后端返回多数据值, 数组形式 展示tab 列表上
  • ES6第一篇
  • 前端开发中,会遇到字符串填充的问题,padStart() 和 padEnd()
  • VS.net 2013中使用Git建立源代码管理 版本管理
  • react 项目中,选中一条信息,自动带出对应的信息
  • Linux 命令用法
  • 计算选中数据的某项 数据总和
  • 前端处理数组 在 js中把已知对象循环遍历后再push新的数组中
  • scrapy 爬取 useragent
  • react 项目中,某需求需要根据返回数据的某条件禁止选择行
  • 函数式思维的小例子
  • 基于LNMP的Zabbbix之Zabbix Server源码详细安装,但不给图
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • Asm.js的简单介绍
  • bootstrap创建登录注册页面
  • C++类中的特殊成员函数
  • create-react-app做的留言板
  • JavaScript实现分页效果
  • js如何打印object对象
  • MobX
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Vue官网教程学习过程中值得记录的一些事情
  • Vue组件定义
  • 成为一名优秀的Developer的书单
  • 分享几个不错的工具
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 缓存与缓冲
  • 基于HAProxy的高性能缓存服务器nuster
  • 警报:线上事故之CountDownLatch的威力
  • 开发基于以太坊智能合约的DApp
  • 聊聊directory traversal attack
  • 前端路由实现-history
  • 如何在 Tornado 中实现 Middleware
  • 使用 Docker 部署 Spring Boot项目
  • 再次简单明了总结flex布局,一看就懂...
  • Android开发者必备:推荐一款助力开发的开源APP
  • FaaS 的简单实践
  • # 透过事物看本质的能力怎么培养?
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • $ git push -u origin master 推送到远程库出错
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (十六)Flask之蓝图
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (算法)Travel Information Center
  • (算法)前K大的和
  • (转)Sql Server 保留几位小数的两种做法
  • (转)Windows2003安全设置/维护