Comments (8)
@davodaslanifakor @stephengardner
OK, I install Nuxt.js starter and have some try, found that it is because Highcharts.getOptions()
is executed in server, while Highcharts itself will not generate a Highcharts
object when env is server.
To solve this, in your DemoChart.vue
:
<template>
<highcharts :options="options"></highcharts>
</template>
<script>
import Highcharts from 'highcharts'
export default {
name: 'demo-chart',
// ...
// Highcharts.getOptions().colors[0]
// ...
}
</script>
and when you need use this chart, use <no-ssr>
wrap it:
<template>
<no-ssr>
<demo-chart></demo-chart>
</no-ssr>
</template>
from vue-highcharts.
Do you import Highcharts
in this file? Try to use this.Highcharts.getOptions()
.
from vue-highcharts.
yes i do ... lock hear ...
my dir plugins file chart.js
import Vue from 'vue';
import VueHighcharts from 'vue-highcharts';
import Highcharts from 'highcharts';
// load these modules as your need
import loadStock from 'highcharts/modules/stock';
import loadMap from 'highcharts/modules/map';
import loadDrilldown from 'highcharts/modules/drilldown';
// some charts like solid gauge require `highcharts-more.js`, you can find it in official demo.
import loadHighchartsMore from 'highcharts/highcharts-more';
import loadSolidGauge from 'highcharts/modules/solid-gauge';
loadStock(Highcharts);
loadMap(Highcharts);
loadDrilldown(Highcharts);
loadHighchartsMore(Highcharts);
loadSolidGauge(Highcharts);
Vue.use(VueHighcharts, { Highcharts });
and then
in nuxt.config.js
...
plugins: [
{src:'~/plugins/chart.js',ssr:false}
],
build: {
vendor:['vue-highcharts','vue-carousel']
]
...
then my component chart.vue
<template>
<no-ssr>
<highcharts :options="options"></highcharts>
</no-ssr>
</template>
<script>
export default {
name: 'chart-airpot',
data () {
return {
options:{
chart: {
type: 'heatmap',
marginTop: 40,
marginBottom: 80,
plotBorderWidth: 1
},
title: {
text: 'Sales per employee per weekday'
},
xAxis: {
categories: ['Alexander', 'Marie', 'Maximilian', 'Sophia', 'Lukas', 'Maria', 'Leon', 'Anna', 'Tim', 'Laura']
},
yAxis: {
categories: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
title: null
},
colorAxis: {
min: 0,
minColor: '#FFFFFF',
maxColor: Highcharts.getOptions.colors[0]
},
legend: {
align: 'right',
layout: 'vertical',
margin: 0,
verticalAlign: 'top',
y: 25,
symbolHeight: 280
},
tooltip: {
formatter: function () {
return '<b>' + this.series.xAxis.categories[this.point.x] + '</b> sold <br><b>' +
this.point.value + '</b> items on <br><b>' + this.series.yAxis.categories[this.point.y] + '</b>';
}
},
series: [{
name: 'Sales per employee',
borderWidth: 1,
data: [[0, 0, 10], [0, 1, 19], [0, 2, 8], [0, 3, 24], [0, 4, 67], [1, 0, 92], [1, 1, 58], [1, 2, 78], [1, 3, 117], [1, 4, 48], [2, 0, 35], [2, 1, 15], [2, 2, 123], [2, 3, 64], [2, 4, 52], [3, 0, 72], [3, 1, 132], [3, 2, 114], [3, 3, 19], [3, 4, 16], [4, 0, 38], [4, 1, 5], [4, 2, 8], [4, 3, 117], [4, 4, 115], [5, 0, 88], [5, 1, 32], [5, 2, 12], [5, 3, 6], [5, 4, 120], [6, 0, 13], [6, 1, 44], [6, 2, 88], [6, 3, 98], [6, 4, 96], [7, 0, 31], [7, 1, 1], [7, 2, 82], [7, 3, 32], [7, 4, 30], [8, 0, 85], [8, 1, 97], [8, 2, 123], [8, 3, 64], [8, 4, 84], [9, 0, 47], [9, 1, 114], [9, 2, 31], [9, 3, 48], [9, 4, 91]],
dataLabels: {
enabled: true,
color: '#000000'
}
}]
}
}
}
}
</script>
<style lang="css" scoped>
</style>
this is my way ....
so where is wrong ??
tnx for help and feedback
from vue-highcharts.
Try change this line maxColor: Highcharts.getOptions.colors[0]
to maxColor: this.Highcharts.getOptions.colors[0]
from vue-highcharts.
@weizhenye don't work
from vue-highcharts.
Try add import Highcharts from 'highcharts';
before export defalt {
in chart.vue
, and this line maxColor: Highcharts.getOptions.colors[0]
is stay unchanged.
from vue-highcharts.
This still does not work.
from vue-highcharts.
[Solved] TypeError: this.getOptions is not a function in vue.js
from vue-highcharts.
Related Issues (20)
- How to change Highcharts object configuration locally? HOT 4
- why highstocks use this method does not take effect HOT 1
- how to extend it HOT 2
- 在vue中反复加载会导致图表显示不出来 HOT 1
- 如何在使用vue-router的情况下在其余的component中使用 HOT 5
- Dynamic Chart Example HOT 2
- Exporting CSV HOT 2
- Highcharts this.$refs undefined in mounted HOT 4
- solid gauge tag HOT 1
- Using HTML to render custom image labels on xAxis does not work under this wrapper HOT 6
- Drilldown in Map HOT 1
- vue-highcharts with typescript HOT 1
- vue-highcharts使用 MIT 证书是否合理? HOT 3
- 把垃圾代码库删除吧~~~
- highstock组件不起作用
- highcharts-gantt HOT 2
- 推荐使用 Highcharts 官方维护的 Vue 包 HOT 1
- missingModuleFor: bullet" HOT 1
- this.$refs is undefined inside of hover events HOT 5
- keyboard accessibility? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vue-highcharts.