JS 在 google 图表上使用 class 方法 setOnLoadCallback

JS Use a class method at google chart setOnLoadCallback

我有一个有效的 JS 代码可以在页面上显示一些 google 图表。我以为我将其重构为 JS class 像这样(清除并最小化了示例代码):

class MyChar {
   show(title) {
      this.title = title;
      google.charts.load('current', { 'packages': ['bar'] });
      google.charts.setOnLoadCallback(this._googleChartOnLoadCallback);
   }

    _googleChartOnLoadCallback() {
        console.log("_googleChartOnLoadCallback is called", this.title);
       // do stuff needed here
    }
}

我想这样称呼:

var myChart = new MyChart();
myChart.show("My cool chart");

我希望在开发人员控制台上看到标题,但出现错误指向 _googleChartOnLoadCallback 方法的第一行:

Uncaught (in promise) TypeError: this is undefined

google 图表加载器是(html 头):

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

我的问题是:可以或不能在回调中使用 class 方法 - 还是我遗漏了什么?如果我不能使用回调 - 那么如何将图表特定数据插入(添加)回调函数?

提前致谢!

找到解决方案:

var f = this._googleChartOnLoadCallback.bind(this);
google.charts.setOnLoadCallback(f);