在Nuxt中使用 Highcharts
npm进行highchars的导入,导入完成后就可以进行highchars的可视化组件开发了
npm install highcharts --save
1、components目录下新建一个chart.vue组件
<template>
<div>
<div v-if="hasNoData()">
<p >{{ emptyText }}</p>
</div>
<div :id="id" v-else></div>
</div>
</template> <script>
import highcharts from 'highcharts'; export default {
props: {
id: {
type: String
},
config: {
data: {
required: true,
type: Array
},
colors: {
type: Array
},
option: {
type: Object
}
},
emptyText: {
default: '暂无数据'
}
},
data() {
return {
option: {
chart: {
type: 'column'
},
credits: {
enabled: false
},
title: {
text: null
},
xAxis: {
type: 'category',
tickWidth: 0
},
yAxis: {
visible: false
},
legend: {
enabled: false
},
...this.config.option,
plotOptions: {
column: {
colorByPoint: true,
colors: this.config.colors,
dataLabels: {
enabled: true
}
}
},
series: [{
data: this.config.data
}]
}
};
},
methods: {
hasNoData() {
if (this.config.data) {
return this.config.data.length > 0;
}
return true;
}
},
beforeDestroy() {
if (this.chart) {
this.chart.destroy();
}
},
created() {
},
mounted() {
if (!this.hasNoData()) {
this.chart = highcharts.chart(this.id, this.option);
}
}
};
</script>
2、chart组件建好后,开始创建chart-options目录,里面创建一个options.js用来存放模拟的chart数据
module.exports = {
bar: {
colors: ['#a7d7f6', '#7ec2ef', '#ffad57', '#f29260', '#f93d3b'],
data: [
['1号', 10],
['2号', 20],
['3号', 30],
['4号', 40],
['5号', 50]
],
option: {
tooltip: {
formatter: function () {
return `<span style="color:${this.color}">\u25CF</span> `;
}
}
}
}
}
3、引用chart组件
<template>
<div id="app">
<x-chart :id="id" :config="option" empty-text="暂无数据"></x-chart>
</div>
</template> <script>
// 导入chart组件
import XChart from 'components/chart.vue'
// 导入chart组件模拟数据
import options from './chart-options/options'
export default {
name: 'app',
data() {
let option = options.bar
return {
id: 'test',
option: option
}
},
components: {
XChart
}
}
</script> <style>
#test {
width: 400px;
height: 400px;
margin: 40px auto;
}
</style>
如果是Nuxt使用Highcharts的话,记得在nuxt.config..js里的build里vendor里写入highcharts以减少应用 bundle 的体积
嗯,就酱~~
参考 https://blog.csdn.net/lily2016n/article/details/75570716
在Nuxt中使用 Highcharts的更多相关文章
- 在nuxt中加入element-ui插件遇到的问题
gen1.首先进入nuxt的官网跟着步骤实现内容. https://zh.nuxtjs.org/guide/plugins 2.在我们的项目目录中找plugin 根据图片中的表示引入内容: impor ...
- 在.NET MVC 中使用Highcharts+Ajax+Json生成动态曲线图,柱状图,饼图
开发背景: 今天在做一个关于商城后台金额报表统计的功能,为了让数据直观明了并且这个报表还需要在手机端自适应所以我决定采用HIghCharts插件下的的报表,大家也可以去了解一下免费开源主要是好看. 首 ...
- 在vue中使用highcharts的仪表图等扩展
仪表图(”solidgauge“)在highcharts中属于扩展,单独引入highcharts使用仪表图会报错,需要在你的组件中做一谢其他的引入: // 最主要是这里模块的引入 很坑 import ...
- React项目中使用HighCharts
大家都知道BizCharts是基于react封装的一套图表工具,而HighCharts是基于jQuery的.但是由于本人对BizCharts甚是不熟,所以在react项目开发中选择了HighChart ...
- Angularjs中添加HighCharts
一. 添加基本配置 1. 添加指令 angular.module('newApp') .directive('dpHighchart', ['$rootScope', function($rootSc ...
- axure中使用HighCharts模板制作统计图表
一. 步骤: 1.在axure中新建页面,发布并生成html文件: 2.将HighCharts文件夹,拷贝到生成的html文件中: 3.拖拽“内部框架组件”到界面中 4.双击界面中的内部框架,设置链接 ...
- Nuxt中使用Vant,完成通知栏Notify的提示
第一次移动端开发,UI方面选择了使用vant框架,但是vant官网写的使用,在nuxt项目中照搬官方的实例,各种报错,所以还得靠自己(使用方法在最后) 官方实例: 方法一:直接复制粘贴的时候,报错No ...
- 在nuxt中引入Font Awesome字体图标库
介绍 在element-ui框架中提供了一些图标样式,但是种类比较少,所以在这里提供一套更完善的字体图标库Font Awesome(官方文档),下面就开始介绍如何在一个nuxt项目中使用这套字体库. ...
- nuxt中全局引入element-ui
介绍 对于一个前端小白来说,使用一套已有的框架作为基础,可以达到事半功倍的效果,在这里我们选择Element.Element,一套为开发者.设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库( ...
随机推荐
- (一)Redis笔记——简介 、key 、数据类型
1. Redis是什么.特点.优势 Redis是一个开源的使用C语言编写.开源.支持网络.可基于内存亦可持久化的日志型.高性能的Key-Value数据库,并提供多种语言的API. 它通常被称为数据结 ...
- net.reflector8.5.0.179过了试用期,要求输入序列号怎么办 注册机 破解
去网上搜索“reflector keygen注册机下载”,随便找一个版本下载(如果你之前下载的软件自带有“Keygen.exe”注册机的话,直接用自带的注册机就可以了)1.断开网络2.下载安装原程序, ...
- redis实践一些要注意的事项
不要放垃圾数据,及时清理无用数据实验性的数据和下线的业务数据及时删除; key尽量都设置过期时间对具有时效性的key设置过期时间,通过redis自身的过期key清理策略来降低过期key对于内存的占用, ...
- WCF 动态调用(1)
很多时候,服务地址都不止一个的,这个时候就要动态去配置地址.配置Web.config,很麻烦 下面就看看怎样实现动态调用WCF. using System; using System.Collecti ...
- 关于extern的说明
extern的作用: extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义. 声明外部变量 现代编译器一般采用按文件编译的方式 ...
- 阿里云RDS备份的tar格式包恢复到本地自建数据库
说明 阿里云RDS-mysql数据库是通过percona-Xtrabackup进行备份的,所以恢复时也需要安装该软件. 另外注意的是:你自己下载的MySQL版本要和阿里云上的MySQL版本一致,不然会 ...
- Vue 组件 非父子组件通信
有时候两个组件也需要通信(非父子关系),在简单的场景下,可以使用一个空的vue实例作为中央事件总线: var bus = new Vue(); //触发组件a中的事件 bus.$emit('id-se ...
- Json介绍以及解析Json
首先,介绍一下Json字串,以下Json的介绍引用网上资料. 简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应 ...
- error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
解决编译php扩展xsl时出现 error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution ...
- vSphere ESXi主机配置iSCSI存储
vSphere ESXi主机配置iSCSI存储 vSphere ESXi主机一般连接的存储类型有光纤存储.iSCSI存储两类.本次案例为iSCSI存储连接ESXi主机的配置. 案例环境:ESXi主机通 ...