包装 JavaScript classesnamespaces
假设我们想要包装 Google Maps JavaScript API google.maps
:
@JS('google.maps')
library maps;
import "package:js/js.dart";
@JS()
class Map {
external Map(Location location);
external Location getLocation();
}
我们现在有了 Map Dart 类,它对应于 JavaScript google.maps.Map
类。
在 Dart 中运行 new Map(someLocation)
将在 JavaScript 中调用 new google.maps.Map(location)
。
请注意,你不必将 Dart 类命名为与 JavaScript 类相同:
@JS("LatLng")
class Location {
external Location(num lat, num lng);
}
Location
Dart 类对应于 google.maps.LatLng
类。
不鼓励使用不一致的名称,因为它们会造成混淆。