包裝 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
類。
不鼓勵使用不一致的名稱,因為它們會造成混淆。