Highcharts-Vue图表选项设置后不会更改值

问题描述 投票:0回答:1

我正在使用highcharts-vue在我的Vue项目中添加Highcharts。

[A)首先,在javascript中,以下作品

let b =5;
let data = {
    a:b
}
console.log('data', data.a);

日志说5,b的值

在Vue和Highcharts中,我尝试具有相同的逻辑。在vue模板中设置图表,首先将其选项设置为空,然后尝试将数字赋予序列。模板为<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)

设置选项为空,设置vars,等于vars的选项
    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,所以]

谢谢

我正在使用highcharts-vue在我的Vue项目中添加Highcharts。 A)首先,在javascript中,以下工作使b = 5; let data = {a:b} console.log('data',data.a);日志说5,...

[我认为这是Javascript范围的“问题”,在示例B中,您运行console.log(this.options.series)并记录了来自选项的系列,但是您仅将方法push推到this.series,您处于不同的范围。

在C上尝试具有2个不同的作用域,但是比运行this.options.series = this.series多,这就是为什么它在那个时候起作用的原因。

javascript vue.js highcharts
1个回答
0
投票

[我认为这是Javascript范围的“问题”,在示例B中,您运行console.log(this.options.series)并记录了来自选项的系列,但是您仅将方法push推到this.series,您处于不同的范围。

© www.soinside.com 2019 - 2024. All rights reserved.