您将无法直接从Dart代码中调用JavaScript。Native指令是为dartc的核心库(dart:core、dart:dom、dart:html、dart:json等)保留的,这些库本身会编译成JavaScript。
现在有一个更简单的方法 https://pub.dartlang.org/packages/js (目前版本为0.6.0-beta.6)
可将JS类和函数用于Dart,如下所示:
@JS("JSON.stringify")
external String stringify(obj);
@JS('google.maps')
library maps;
// Invokes the JavaScript getter `google.maps.map`.
external Map get map;
// `new Map` invokes JavaScript `new google.maps.Map(location)`
@JS()
class Map {
external Map(Location location);
external Location getLocation();
}
// `new Location(...)` invokes JavaScript `new google.maps.LatLng(...)`
//
// We recommend against using custom JavaScript names whenever
// possible. It is easier for users if the JavaScript names and Dart names
// are consistent.
@JS("LatLng")
class Location {
external Location(num lat, num lng);
}
更多信息请参阅该软件包的自述文件
还有一个dart:js
库。这里有一篇文章,解释了如何使用此库与JavaScript进行交互。