Vue项目中使用HighChart
记:初次在Vue项目中使用 HighChart 的时候要走的坑
感谢这位哥们的思路 传送门
Vue-cli项目使用
npm install highcharts --save
让我们看看 highcharts 的使用方法,传送门
Highcharts.chart(targetTag, option)
重启项目,建立chart.vue文件
<template>
<div class="x-bar">
<p :id="id" :option="option"></p>
</div>
</template>
<script>
import HighCharts from 'highcharts'
export default {
data() {
return {}
},
// 验证类型
props: {
id: {
type: String
},
option: {
default() {
return {}
}
}
},
mounted() {
this.hChart = HighCharts // 这个this.hChart是便于每次组件chart的时候都是一个新的chart
this.checkAndSetOption()
},
watch: { },
methods: {
checkAndSetOption() {
let option = this.option
let id = this.id
if(this.isValidOption(option)) {
// this.hChart.setOption(option)
this.hChart.chart(id,option)
}else{
console.error("chart option ERROR")
}
},
isValidOption(option) {
return this.isObject(option) && !this.isEmptyObject(option)
&& this.hasSeriesKey(option)
&& this.isSeriesArray(option) && !this.isSeriesEmpty(option)
},
isObject(option) {
return Object.prototype.isPrototypeOf(option)
},
isEmptyObject(option) {
return Object.keys(option).length === 0
},
hasSeriesKey(option) {
return !!option['series']
},
isSeriesArray(option) {
return Array.isArray(option['series'])
},
isSeriesEmpty(option) {
return option['series'].length === 0
}
}
}
</script>
调用 chart 组件
<template>
<div id="appDiv">
<x-chart :id="id1" :option="options"></x-chart>
</div>
</div>
</template> <script>
import XChart from '@/components/base/chart/chart
import chartOptions from '@/components/base/chart/chart-options'
export default {
name: 'chart',
data() {
let options = chartOptions.bar
return {
id1: 'test',
options: options
}
},
components: {
XChart
}
}
</script>
<style>
#test {
width: 400px;
height: 400px;
margin: 40px auto;
}
</style>
chart-options.js 内容(用于配置 chart 的 options)
module.exports = {
bar: {
chart: {
type:'column'//指定图表的类型,默认是折线图(line)
},
credits: {
enabled:false
},//去掉地址
title: {
text: '我的第一个图表' //指定图表标题
},
colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00',
'#24CBE5' ],
xAxis: {
categories: ['1号', '2号', '3号','3号','3号'] //指定x轴分组
},
yAxis: {
title: {
text: '最近七天', //指定y轴的标题
},
},
plotOptions: {
column: {
colorByPoint:true
},
},
series: [{ //指定数据列
name: '小明',
data: [{
y:1000,
color:"red"}, 5000, 4000,5000,2000] //数据
}]
}
}
Vue项目中使用HighChart的更多相关文章
- vue 项目中实用的小技巧
# 在Vue 项目中引入Bootstrap 有时在vue项目中会根据需求引入Bootstrap,而Bootstrap又是依赖于jQuery的,在使用npm按照时,可能会出现一系列的错误 1.安装jQu ...
- 如何在VUE项目中添加ESLint
如何在VUE项目中添加ESLint 1. 首先在项目的根目录下 新建 .eslintrc.js文件,其配置规则可以如下:(自己小整理了一份),所有的代码如下: // https://eslint.or ...
- 在vue项目中, mock数据
1. 在根目录下创建 test 目录, 用来存放模拟的 json 数据, 在 test 目录下创建模拟的数据 data.json 文件 2.在build目录下的 dev-server.js的文件作如下 ...
- 浅谈 Axios 在 Vue 项目中的使用
介绍 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 特性 它主要有如下特性: 浏览器端发起XMLHttpRequests请求 Node端发起http ...
- 去除vue项目中的#及其ie9兼容性
一.如何去除vue项目中访问地址的# vue2中在路由配置中添加mode(vue-cli创建的项目在src/router/index.js) export default new Router({ m ...
- vue 项目中当访问路由不存在的时候默认访问404页面
前言: 在Vue项目中,当访问的页面路由不存在或错误时,页面显示为一片空白.然而,通常我们需要对访问url不存在或者错误的情况下添加默认的404页面,即not found页面. 一般的处理方法是: 在 ...
- vue项目中遇到的那些事。
前言 有好几天没更新文章了.这段实际忙着做了一个vue的项目,从 19 天前开始,到今天刚好 20 天,独立完成. 做vue项目做这个项目一方面能为工作做一些准备,一方面也精进一下技术. 技术栈:vu ...
- scss/less语法以及在vue项目中的使用(转载)
1.scss与less都是css的预处理器,首先我们的明白为什么要用scss与less,因为css只是一种标记语言,其中并没有函数变量之类的,所以当写复杂的样式时必然存在局限性,不灵活,而scss与l ...
- Vue项目中GraphQL入门学习与应用
1.GraphQL是什么,能干什么? 正如官网所说,GraphQL是一种用于API查询的语言.Facebook 的移动应用从 2012 年就开始使用 GraphQL.GraphQL 规范于 2015 ...
随机推荐
- ui界面使用 DialogMonitorOPS 问题
-- 是类主要是实现对界面上元素的处理.实现效果的处理 struct gt_cl_hp_uiName ( fn help = ( gt_10000_help = " 类主要是实现对界面上元素 ...
- CSS实现input默认文字灰色有提示文字点击后消失鼠标移开显示
CSS实现input美化操作默认是为灰色,并且有提示 如下图 鼠标点击后文字消失,鼠标移开后文字显示 给input入下图添加代码 style="color:#cccccc; outline: ...
- OBD Problem Vehicles
This page contains a list of vehicles that are known to be non-compliant with OBD-II in one way or a ...
- 【转】Java虚拟机详解----常用JVM配置参数
原文地址:http://www.cnblogs.com/smyhvae/p/4736162.html 本文主要内容: Trace跟踪参数 堆的分配参数 栈的分配参数 零.在IDE的后台打印GC日志: ...
- HDU 1111 Secret Code (DFS)
题目链接 题意 : 给你复数X的Xr和Xi,B的Br和Bi,让你求一个数列,使得X = a0 + a1B + a2B2 + ...+ anBn,X=Xr+i*Xi,B=Br+Bi*i : 思路 : 首 ...
- 2015-08-13T17:39:15
ACTION里 Date upateTime; 有setter getter 页面字符串 是'2015-08-13T17:39:15' 该字符串可以直接映射成Date .
- 【Android开发精要笔记】Android的Intent机制
Android的Intent机制 Intent对象的作用和构成 android意图机制最核心的设计思想,就是引入了组件管理服务作为连接组件的管理者. 该服务的作用: 通过组件的配置信息了解系统中每个组 ...
- Arduino SPI + SPI Flash芯片W25Q80BV
W25Q80BV是台湾华邦电子(Winbond)生产的8M-bit串行flash芯片.主要特性有: 工作电压:2.5 ~ 3.6 V 功耗:读写(active)时4mA,低功耗(power-down) ...
- [Erlang00]:gen_server:reply/2
--- gen_server:reply/2 reply(Client, Reply) –> Result Types: Client - see below Repl ...
- C#面向对象:多态
此文章转载网站:https://www.cnblogs.com/qixinbo/p/8244583.html 多态: 有多态之前必须要有继承,只有多个类同时继承了同一个类,才有多态这样的说法. 在继承 ...