一 注册路由表
return MaterialApp(
title: 'flutter 笔记',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
initialRoute: '/home',
routes: {
'/home': (context) => Home(),
'/test': (context) => Test(),
},
home: Scaffold(
body: Home(),
),
);
关于默认路由的设置:在路由表中注册Home路由,将其名字作为MaterialApp的initialRoute属性值,该属性决定应用的初始路由页是哪一个命名路由
二 通过路由名跳转路由
2.1 由Home跳转至Test
Future pushNamed(BuildContext context, String routeName,{Object arguments})
RaisedButton(
onPressed: () {
Navigator.pushNamed(context, '/test');
},
child: Text('路由跳转至Test()'),
),
2.2 由Test跳转回Home
RaisedButton(
onPressed: () {
Navigator.pop(context);
},
child: Text('跳转回上一级'),
),
三 路由的传参
Home组件
Navigator.pushNamed(context, '/test',arguments: '这是一条来自Home的传参');
Test组件
var receiveProps;
this.receiveProps = ModalRoute.of(context).settings.arguments;