确实有图书馆的名字dart:js它很好的从飞镖访问数据和调用JavaScript函数。只需使用context['property']
或context['property'].callMethod(name, [args])
即可。
从JavaScript到dart的通信现在只能通过DOM或回调进行。首先是设置一些元素属性(或类)并检测飞镖中的变化。回调工作要好得多,你需要从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通信只适用于基元,地图{}
和数组[]
。
应该删除angularjs标记,因为在这里不适用。另外,考虑扩大你的问题,包括你想要访问的库,更广泛地说,你正在努力完成什么。 – Fourth
(1)我恐怕没有办法(还)去做我在角镖中所要求的,所以我在(不可否认的是,远程)情况下标记'角度'有一些其他非飞镖(2)问题是关于一般方法,而不是任何特定的库。 – alearg