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