Элемент Дарт: вызов функции на встроенном объекте JS

1

В этом конкретном случае это для SVG. Я могу получить элемент SVG через запрос следующим образом:

Element svgEL = querySelector('svg');

Если я посмотрю на объект svgEL, он содержит (вкратце):

[[javascript view]]: svg
[[class]]: SvgSvgElementImpl
  ...
  getScreenCTM: function()       // I want to call this
  ...

Я предполагаю, что я каким-то образом создам JsObject, а затем сделаю callMethod, но, похоже, я не могу понять, как это сделать.

Есть идеи?

Теги:
dart

2 ответа

1

Спасибо Jonas за хедз-ап в дарт: svg library.

Оказывается, мне это не нужно, потому что я обрабатываю это в событии, а целевой объект события - это объект js 'g' (он находится на мыши). Итак, я смог получить то, что мне нужно:

var jsvg = event.target.ownerSvgElement;

var mtx = jsvg.getScreenCtm();
...

И тогда я могу создать точку и сделать обратное преобразование и все это.

1

Самый простой способ - использовать соответствующий класс Dart GraphicsElement, это имеет метод getScreenCTM https://api.dartlang.org/stable/1.23.0/dart-svg/GraphicsElement-class.html

Таким образом, для этого типа:

GraphicsElement gElem = svgEL as GraphicsElement;
gElem.getScreenCTM();
  • 0
    Это довольно хорошая информация - спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню