有一个库名称正是dart:js它在访问数据和从 dart 调用 javascript 函数方面非常好。只需使用context['property']
or context['property'].callMethod(name, [args])
。
从 javascript 到 dart 的通信现在只能通过 DOM 或回调来实现。首先是关于设置一些元素属性(或类)并检测 dart 的变化。回调工作得更好,您需要从参数中的 dart 传递函数调用 javascript 函数。
//js
function bindEvent ( eventName, cb )
{
//call dart function
cb( "Triggering event: " + eventName );
}
//dart
void onJsEvent( Object o, String message )
{
print("Callback called with this = $o and message = $message");
}
var callback = new JsFunction.withThis( onJsEvent );
context.callMethod("bindEvent", [ "myEvent", callback ]);
我认为您将很难映射角度,因为它使用了很多自定义对象。Dart-Js 通信仅适用于原语、映射{}
和数组[]
。