Dart元素:嵌入式JS对象的调用函数

时间:2017-06-06 04:00:34

标签: javascript dart method-invocation

在这种特殊情况下,它适用于SVG。我可以通过查询获得SVG元素,如下所示:

Element svgEL = querySelector('svg');

如果我查看'svgEL'对象,它包含(简要):

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

我认为我会在某个东西上实例化一个JsObject然后对它做一个callMethod,但我似乎无法弄清楚如何使它工作。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

最简单的方法是使用相应的Dart课程GraphicsElement,其方法为getScreenCTM https://api.dartlang.org/stable/1.23.0/dart-svg/GraphicsElement-class.html

所以转为这种类型:

GraphicsElement gElem = svgEL as GraphicsElement;
gElem.getScreenCTM();

答案 1 :(得分:1)

感谢Jonas对dart:svg库的单挑。

事实证明我不需要它,因为我在一个事件中处理它,而事件目标对象是原始的js'g'对象(这是鼠标悬停)。所以,我能够得到我所需要的东西:

var jsvg = event.target.ownerSvgElement;

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

然后我可以创建点并进行逆变换以及所有这些。