记:初次在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的更多相关文章

  1. vue 项目中实用的小技巧

    # 在Vue 项目中引入Bootstrap 有时在vue项目中会根据需求引入Bootstrap,而Bootstrap又是依赖于jQuery的,在使用npm按照时,可能会出现一系列的错误 1.安装jQu ...

  2. 如何在VUE项目中添加ESLint

    如何在VUE项目中添加ESLint 1. 首先在项目的根目录下 新建 .eslintrc.js文件,其配置规则可以如下:(自己小整理了一份),所有的代码如下: // https://eslint.or ...

  3. 在vue项目中, mock数据

    1. 在根目录下创建 test 目录, 用来存放模拟的 json 数据, 在 test 目录下创建模拟的数据 data.json 文件 2.在build目录下的 dev-server.js的文件作如下 ...

  4. 浅谈 Axios 在 Vue 项目中的使用

    介绍 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 特性 它主要有如下特性: 浏览器端发起XMLHttpRequests请求 Node端发起http ...

  5. 去除vue项目中的#及其ie9兼容性

    一.如何去除vue项目中访问地址的# vue2中在路由配置中添加mode(vue-cli创建的项目在src/router/index.js) export default new Router({ m ...

  6. vue 项目中当访问路由不存在的时候默认访问404页面

    前言: 在Vue项目中,当访问的页面路由不存在或错误时,页面显示为一片空白.然而,通常我们需要对访问url不存在或者错误的情况下添加默认的404页面,即not found页面. 一般的处理方法是: 在 ...

  7. vue项目中遇到的那些事。

    前言 有好几天没更新文章了.这段实际忙着做了一个vue的项目,从 19 天前开始,到今天刚好 20 天,独立完成. 做vue项目做这个项目一方面能为工作做一些准备,一方面也精进一下技术. 技术栈:vu ...

  8. scss/less语法以及在vue项目中的使用(转载)

    1.scss与less都是css的预处理器,首先我们的明白为什么要用scss与less,因为css只是一种标记语言,其中并没有函数变量之类的,所以当写复杂的样式时必然存在局限性,不灵活,而scss与l ...

  9. Vue项目中GraphQL入门学习与应用

    1.GraphQL是什么,能干什么? 正如官网所说,GraphQL是一种用于API查询的语言.Facebook 的移动应用从 2012 年就开始使用 GraphQL.GraphQL 规范于 2015 ...

随机推荐

  1. Win 7 Windows Update无法自动更新解决方案

    最近发现系统很长时间没有自动更新过了,手动更新后,提示返回错误码WindowsUpdate_8024402F.网络上搜索到的解决方法大多是删除更新临时目录,重启WINDOWS UPDATE服务,然而试 ...

  2. 白盒测试实践项目(day2)

    到目前为止: 李建文同学大体完成代码复审,并在完善文档,汪鸿同学和杨瑞丰同学都在熟悉各自的任务,胡俊辉同学设计了JUnit测试用例,张颖同学负责维护这几天的博客. 目前小组成员还未碰到不能解决的问题. ...

  3. 【转载】MYSQL模式匹配:REGEXP和like用法

    转载地址:http://www.webjx.com/database/mysql-32809.html like like要求整个数据都要匹配,而REGEXP只需要部分匹配即可. 也就是说,用Like ...

  4. up6-自定义文件存储路径

    在up6.2中有两种保存模式,一种是md5一种是uuid. md5由PathMd5Builder生成存储路径.md5主要提供给文件使用,可在服务器端保存唯一的文件,有效避免重复文件. uuid由Pat ...

  5. 8) Struts2 2 SpringMVC

    git@github.com:witaste/smse.git 数据库脚本: /* Navicat MySQL Data Transfer Source Server : 新服务器 Source Se ...

  6. Android 文件存放路径【转】

    对于应用携带的静态数据,可以放置在应用的assets目录或者res,raw目录下.对于assets目录下的静态数据,存在当文件最大支持1MB的局限,读取方式如下: 1 InputStream is = ...

  7. WSAStartup函数

    函数WSAStartup 一.WSAStartup函数                 int WSAStartup                       (                   ...

  8. Linux文件排序工具 sort 命令详解

    sort是排序工具,它完美贯彻了Unix哲学:"只做一件事,并做到完美".它的排序功能极强.极完整,只要文件中的数据足够规则,它几乎可以排出所有想要的排序结果,是一个非常优质的工具 ...

  9. CodeForces 227E Anniversary (斐波那契的高妙性质+矩阵快速幂)

    There are less than 60 years left till the 900-th birthday anniversary of a famous Italian mathemati ...

  10. JavaScript - this详解 (一)

    侃侃JavaScript中的this this为何如此多变? this总是跟它的执行上下文有关,而在JavaScript总会有开辟新的执行上下文的东西,比如函数,所以,this才如此的变化. 执行环境 ...