[英]Accessing route parameters in Dart and flutter
我將 2 個參數restaurantDetails.rest_latitude和restaurantDetails.rest_longitude發送到 class 以獲取 map 詳細信息
BarMapWidget(restaurantDetails.rest_latitude, restaurantDetails.rest_longitude),
在 class 我有一個有狀態的小部件
class BarMapWidget extends StatefulWidget {
String restLatitude;
String restLongitude;
BarMapWidget(this.restLatitude, this.restLongitude, {Key? key}) : super(key: key);
@override
_BarMapWidgetState createState() => _BarMapWidgetState();
}
我正在傳遞一個字符串,所以我知道我必須將它設為 double
這是擴展的class,
class _BarMapWidgetState extends State<BarMapWidget> {
// Destination Longitude
final double _destLatitude = restLatitude;
final double _destLongitude = restLongitude;
void initState() {
// Add destination marker
_addMarker(
LatLng(_destLatitude, _destLongitude),
"destination",
// BitmapDescriptor.defaultMarkerWithHue(90),
BitmapDescriptor.defaultMarker
);
super.initState();
}
這給我一個未定義的名稱“restLatitude”。 和未定義的名稱“restLongitude”。
如何訪問 BarMapWidget 中的變量?
您在小部件級別的restLatitude
和restLongitude
,請嘗試使用widget.variableName
。 此外,那些不匹配的數據類型。
如果您需要將BarMapWidget
變量double
轉換為加倍。
要在 state 級別進行初始化,您可以使用late
或使用initState
進行欺騙;
class BarMapWidget extends StatefulWidget {
final double restLatitude;
final double restLongitude;
const BarMapWidget(this.restLatitude, this.restLongitude, {Key? key})
: super(key: key);
@override
_BarMapWidgetState createState() => _BarMapWidgetState();
}
class _BarMapWidgetState extends State<BarMapWidget> {
// Destination Longitude
late final double _destLatitude = widget.restLatitude;
late final double _destLongitude = widget.restLongitude;
只需添加
widget.restLatitude
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.