繁体   English   中英

JavaScript中的Dart事件

[英]Dart events in JavaScript

我在这里有此代码,正在将其转换为Dart。 问题出在回调上。

function stop(e) {
    var node = e.target.getContainer();
    node[SMap.LAYER_MARKER].style.cursor = "";
    var coords = e.target.getCoords();
    alert("Cílová pozice: " + coords.toWGS84(2).reverse().join(" "));
}

var signals = mapa.getSignals();
signals.addListener(window, "marker-drag-stop", stop);

我在Dart中的代码

  var signals = mapa.callMethod('getSignals', []);
  signals.callMethod('addListener', [context, 'marker-drag-stop', stop]);
}


stop(MouseEvent event) {
  var target = event.target.callMethod('getContainer',[]);// problem
  context.callMethod('alert', ['texttext']); 
}

适当地调用了stop回调,但是我不知道该如何处理var node = e.target.getContainer(); 线。 e.target返回什么,但接下来是什么。

mapa.callMethod('addLayer', [layer]).callMethod('enable', []);问题:是mapa.callMethod('addLayer', [layer]).callMethod('enable', []); 语法,只有一种可能的方式来调用javascript方法。 我觉得有点麻烦:-/

整个js-interop事情有点混乱。 我无法自行解决它,需要在每个步骤后再次询问。 我希望当我涵盖所有互操作用例时,我能够使用Dart而不用担心JS。

我认为这应该可以解决问题:

var target = new js.JsObject.fromBrowserObject(e)['target']
  .callMethod('getContainer', []);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM