我有一个input
类型的number
,在max ticks
上有X-axis
。
我订阅了该输入的valueChange
,而我发现更新tick选项的max
value
的唯一方法是:
updatedMaxTickX(chart: any, newMax: number): void {
chart.options = {
scales: {
xAxes: [
{
ticks: {
max: newMax
}
}
]
}
};
}
然后:
this.detailsForm.get("max").valueChanges.subscribe(v => {
this.updatedMaxTickX(this.canvas, v);
this.canvas.update()
});
这有效,输入更改时最大Ticks会更新,但是还会发生其他所有选项都被重置!
所以基本上我认为这会覆盖我的选项,并将其他所有内容都设为默认值。
如何仅更改ticks.max,同时保持控制器中定义的其他所有内容?
我尝试过
this.detailsForm.get("max").valueChanges.subscribe(v => {
this.canvas.options.scales.xAxes.ticks.max = v;
this.canvas.update()
});
但这不起作用,并给我错误。
答案 0 :(得分:1)
xAxes
是一个数组,它应该可以工作:
myChart.options.scales.xAxes[0].ticks.max = v;