Как получить это из обратного вызова в Dart:js

Я пытаюсь интегрировать highcharts как компонент AngularDart. Взаимодействие Js работает как шарм, но я столкнулся с проблемой, которую не могу решить.

Highcharts позволяет пользователю предоставлять обратные вызовы для настройки некоторых вариантов поведения. Например, обратный вызов для форматирования всплывающих подсказок диаграммы. Это пример форматера, написанного на javascript:

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

У меня есть функция форматирования в Dart. Функция вызывается правильно, но я не знаю, как заставить «этот» объект получить нужные мне данные.

Кто-нибудь может мне помочь?


person Gonzalo Pezzi    schedule 20.05.2014    source источник


Ответы (1)


Чтобы получить this, вам нужно использовать конструктор JsFunction.withThis(), который принимает замыкание, первым аргументом которого является значение this в JavaScript.

См. https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart-js.JsFunction#id_JsFunction-withThis

person Justin Fagnani    schedule 20.05.2014
comment
Вау, это работает! Большое спасибо, Джастин. Это действительно было очень просто, но я почему-то не видел этого конструктора. - person Gonzalo Pezzi; 21.05.2014