1

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

提前感谢您的任何想法。

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

由于在 Angular 中通过模块导入 javascript 库,在 dart 中通过dart:js.

4

1 回答 1

3

有一个库名称正是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 通信仅适用于原语、映射{}和数组[]

于 2013-12-10T20:25:18.707 回答