如何从角落飞镖访问现有的JavaScript库

时间:2013-12-10 19:52:13

标签: dart angular-dart

我正在尝试从angular-dart应用程序中访问现有的javascript库。这是推荐的方法吗?有类似dart:js的内容吗?

提前感谢任何想法。

编辑:做了一些测试。看来dart:js并不介意在angular.dart中导入(顺便说一下,我应该importing 'dart:js'还是'package:js/js.dart'?有什么区别,如果有的话?)。

因为在角度你通过模块和dart通过dart:js导入javascript库,如果angular-dart的文档可以清楚地解决(可能有一些例子?)这个问题,那么这个问题一定很有用人

1 个答案:

答案 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通信仅适用于基元,地图{}和数组[]