我在尝试用vue写一个类echarts官网那种的在线生成图表示例,script是我从ace编辑器内容区传给图表组件的图表配置字符串
changeChart(script) {
let myChart = this.$echarts.init(this.$refs.chartRef)
// 清除当前图表
myChart.clear()
try {
// 将字符串中的"echarts"替换为"this.$echarts"
script = script.replace(/echarts/g,'this.$echarts')
let func = new Function(
`var ROOT_PATH = 'https://cdn.jsdelivr.net/gh/apache/echarts-website@asf-site/examples';var option;let myChart = this.$echarts.init(this.$refs.chartRef);` +
script +
`myChart.clear();option && myChart.setOption(option);`
).bind(this)
func()
} catch (e) {
console.log(e)
}
},
那就是说
echarts
是undefined
,给它赋值就能解决这个错误: