我正在尝试从 angular-dart 应用程序中访问现有的 javascript 库。推荐的方法是什么?类似于 dart:js
可用的?
提前感谢您的任何想法。
编辑:做了一些测试。看来 dart:js
不介意在 angular.dart 中导入(顺便说一句,我应该是 importing 'dart:js'
还是 'package:js/js.dart'
?有什么区别,如果有的话?)。
因为在 Angular 中,您通过模块导入 javascript 库,在 dart 中通过 dart:js
,如果 angular-dart 的文档能够清楚地解决(也许有一些例子?)这个问题,这将是很多人感兴趣的问题。
最佳答案
正好有库名dart:js它在访问数据和从 dart 调用 javascript 函数方面非常好。只需使用 context['property']
或 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 通信仅适用于原语、 map
{}
和数组 []
.
关于dart - 如何从 angular dart 访问现有的 javascript 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20503911/