在 Chart Js 的 onClick 函数中访问组件变量
Acess component variable inside onClick function of Chart Js
我有以下组件,但我无法在 Chart 的 onClick 函数中打印 test
变量值。
export class EntradaSaidaComponent {
@ViewChild('graficoDeBarraTemplate')
private graficoDeBarraTemplate;
graficoDeBarra: Chart;
test:any = "Test";
ngOnInit(){
this.graficoDeBarra = new Chart(this.graficoDeBarraTemplate.nativeElement, {
type: 'bar',
data: {
labels: ["Entrada", "Saída"],
datasets: [
{
backgroundColor: ["#00b050", "#00b0f0"],
data: [this.dashboard.totalReceber, this.dashboard.totalPagar],
label: this.sharedProvider.formatMoeda(this.dashboard.totalReceber)
},
{
backgroundColor: ["#03A9F4"],
data: [],
label: this.sharedProvider.formatMoeda(this.dashboard.totalPagar)
},
]
},
options: {
responsive: true,
plugins: {
},
legend: {
display: true,
position: 'bottom'
},
onClick: function(){
console.log(this.test);
},
},
});
}
}
如何解决?
使用箭头函数
onClick: () => {
console.log(this.test);
},
上下文问题。
两者之一(是的,这是一个奇怪的对象语法,但相信我它有效)
onClick(){
console.log(this.test);
},
或
onClick: () => console.log(this.test),
我有以下组件,但我无法在 Chart 的 onClick 函数中打印 test
变量值。
export class EntradaSaidaComponent {
@ViewChild('graficoDeBarraTemplate')
private graficoDeBarraTemplate;
graficoDeBarra: Chart;
test:any = "Test";
ngOnInit(){
this.graficoDeBarra = new Chart(this.graficoDeBarraTemplate.nativeElement, {
type: 'bar',
data: {
labels: ["Entrada", "Saída"],
datasets: [
{
backgroundColor: ["#00b050", "#00b0f0"],
data: [this.dashboard.totalReceber, this.dashboard.totalPagar],
label: this.sharedProvider.formatMoeda(this.dashboard.totalReceber)
},
{
backgroundColor: ["#03A9F4"],
data: [],
label: this.sharedProvider.formatMoeda(this.dashboard.totalPagar)
},
]
},
options: {
responsive: true,
plugins: {
},
legend: {
display: true,
position: 'bottom'
},
onClick: function(){
console.log(this.test);
},
},
});
}
}
如何解决?
使用箭头函数
onClick: () => {
console.log(this.test);
},
上下文问题。
两者之一(是的,这是一个奇怪的对象语法,但相信我它有效)
onClick(){
console.log(this.test);
},
或
onClick: () => console.log(this.test),