我正在尝试从angular-dart应用程序中访问现有的javascript库。这是推荐的方法吗?有类似dart:js
的内容吗?
提前感谢任何想法。
编辑:做了一些测试。看来dart:js
并不介意在angular.dart中导入(顺便说一下,我应该importing 'dart:js'
还是'package:js/js.dart'
?有什么区别,如果有的话?)。
因为在角度你通过模块和dart通过dart:js
导入javascript库,如果angular-dart的文档可以清楚地解决(可能有一些例子?)这个问题,那么这个问题一定很有用人
答案 0 :(得分:2)
库名完全正确dart:js它非常适合从dart访问数据和调用javascript函数。只需使用context['property']
或context['property'].callMethod(name, [args])
。
现在只能通过DOM或回调从javascript到dart的通信。首先是关于设置一些元素属性(或类)并检测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通信仅适用于基元,地图 {}
和数组[]
。