JavaScript 中的飞镖活动
Dart events in JavaScript
我有这段代码 here,我正在将其转换为 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']);
}
正确调用了停止回调,但我不知道如何处理 var node = e.target.getContainer();
行。 e.target return 东西,但接下来是什么。
附带问题:是 mapa.callMethod('addLayer', [layer]).callMethod('enable', []);
语法,只有一种调用 javascript 方法的可能方法。我觉得有点麻烦:-/
整个 js-interop 东西有点乱。我无法自行解决,需要在每一步后再次询问。我希望当我涵盖所有互操作用例时,我将能够只使用 Dart 而忘记 JS。
我想这应该可以解决问题:
var target = new js.JsObject.fromBrowserObject(e)['target']
.callMethod('getContainer', []);
我有这段代码 here,我正在将其转换为 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']);
}
正确调用了停止回调,但我不知道如何处理 var node = e.target.getContainer();
行。 e.target return 东西,但接下来是什么。
附带问题:是 mapa.callMethod('addLayer', [layer]).callMethod('enable', []);
语法,只有一种调用 javascript 方法的可能方法。我觉得有点麻烦:-/
整个 js-interop 东西有点乱。我无法自行解决,需要在每一步后再次询问。我希望当我涵盖所有互操作用例时,我将能够只使用 Dart 而忘记 JS。
我想这应该可以解决问题:
var target = new js.JsObject.fromBrowserObject(e)['target']
.callMethod('getContainer', []);