【发布时间】:2020-06-29 00:44:38
【问题描述】:
我正在使用 highcharts-vue 在我的 Vue 项目中使用 Highcharts。
A)首先,在 javascript 中以下工作
let b =5;
let data = {
a:b
}
console.log('data', data.a);
Log 说 5,b 的值
在 Vue 和 highcharts 中,我尝试使用相同的逻辑。在 vue 模板中设置 highcharts,首先将其选项设置为空,然后尝试将数字赋予系列。模板是
<highcharts ref="chart" :callback="chartcallback" :options="options" ></highcharts>
然后使用Vue
B) 将变量设置为空数组,将它们传递给选项并使用这些变量来更新 vue 中的选项
data(){
return{
series:[],
options: {
series: this.series,
}
}
}
然后,在 Vue 中,如果我这样做了
console.log(this.options.series);
this.series.push({
name:'hello',
data:[]
});
console.log(this.options.series);
将 options.series 设置为 var,更改 var 并且 options.series 也会更改。第一个日志显示undefined,第二个是一个空数组,但我只是将名称和数据推入其中。这让我感到困惑,因为它就像 A),在 javascript 中是有效的。在这里它没有。是因为 Vue 还是 Highcharts?
我尝试的另一种方法是
C)设置options为空,设置vars,等于vars的options
data(){
return{
options: {
series: [],
}
}
}
然后,在 Vue 中,如果我这样做了
console.log(this.options.series);
this.series.push({
name:'hello',
data:[]
});
this.options.series = this.series
console.log(this.options.series);
这行得通,但我不明白为什么。第一个日志是一个空数组,第二个日志有名称和数据。如果设置选项然后设置一个等于它的var,为什么B)不起作用?我还将 var 设置为 options ,但时间不同。
拜托,我想了解为什么看起来像 A 的 B 不起作用。还有为什么 C 可以工作,因为我在创建选项后将 options.series 设置为 var
谢谢
【问题讨论】:
标签: javascript vue.js highcharts