包装 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 类。
不鼓励使用不一致的名称,因为它们会造成混淆。