如何从Dart中的Callback中获取“this”:js

时间:2014-05-20 23:39:51

标签: dart dart-js-interop

我正在尝试将highcharts集成为AngularDart组件。 Js interop就像一个魅力,但我遇到了一个我无法克服的问题。

Highcharts允许用户提供回调以自定义某些行为。例如,一个回调来格式化图表的工具提示。 这是用javascript编写的格式化程序的一个例子:

formatter: function() {
            return 'The value for <b>'+ this.x +
                '</b> is <b>'+ this.y +'</b>';
        }

我在Dart中有格式化程序功能。该函数被正确调用,但我不知道如何获得“this”对象来检索我需要的数据。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:6)

要捕获this,您需要使用JsFunction.withThis()构造函数,该构造函数需要一个闭包,其中第一个参数是JavaScript中this的值。

请参阅https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart-js.JsFunction#id_JsFunction-withThis