【发布时间】:2020-09-25 04:06:16
【问题描述】:
我的图表定义如下(MainChart.vue)。
import { Line, mixins } from 'vue-chartjs'
const { reactiveProp } = mixins
// const brandPrimary = '#20a8d8'
export default {
extends: Line,
mixins: [reactiveProp],
props: ['options', 'chartData', 'height'],
mounted () {
this.renderChart(this.chartData, this.options)
var elements = 1
}
}
我测试了这段代码并确认它运行良好。
<line-chart :chartData="myChartData"></line-chart>
但是,我尝试动态渲染图表,它不起作用。
import lineChart from './MainChart';
// ...
let chartClass = Vue.extend(lineChart)
let chartInstance = new chartClass({
propsData: {
chartData: myChartData
}
})
chartInstance.$mount()
console.log(chartInstance.$el)
console.log(chartInstance.$el.querySelector("canvas").toDataURL('image/png'))
console.log(chartInstance.$refs.canvas)
console.log(chartInstance.$refs.canvas.toDataURL('image/png'))
控制台消息:
我从控制台查看,发现画布区域没有绘制任何内容。
如何动态呈现我的图表?
类似问题:
【问题讨论】:
标签: javascript vue.js vue-chartjs