1.注冊路由
Map<String, WidgetBuilder> routers = {
"簡單的列表": (context) {
return new SimpleListViewPage();
},
"簡單的布局": (context) {
return new SimpleLayoutPage();
},
"按鈕點擊": (context) {
return new SimpleCounterPage(title: "測試");
}
};
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Startup Name Generator',
initialRoute: "/",
theme: ThemeData(primaryColor: Colors.white),
home: new RandomWords(),
routes: routers,
);
}
}
2.路由跳轉(zhuǎn)
arguments
就是傳遞的參數(shù)名
onTap: () {
print("routeLists[index]=" + routeLists[index]);
Navigator.of(context)
.pushNamed(routeLists[index], arguments: "hi");
},
3.接收參數(shù)
var args = ModalRoute.of(context)?.settings.arguments;
print(args);
4.反向傳值
Navigator.pop(context, "我是返回值");
5.接收反向傳遞的值
onPressed: () async {
var result = await Navigator.push(context,
MaterialPageRoute(builder: (context) {
return SimpleTipRoutePage(text: "測試");
}));
print("返回值為:$result");
}