路由
匿名路由
加入页面
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => 组件(参数),
),
)
备注
如果 回退 返回了参数 可以获取到参数
跳转到命名路由
// 常用
Navigator.pushNamed(context, '路由名或路径',arguments: {'字段': '参数'},)
// 跳转后销毁当前页面
Navigator.popAndPushNamed(context, '路由名或路径',arguments: {'字段': '参数'},)
// 销毁之前全部路由 无法返回
Navigator.pushNamedAndRemoveUntil(context, '路由名或路径', (_) => false);
回退
Navigator.pop(context, 参数)
备注
参数是可选到
获取传递参数
Object? postModel = ModalRoute.of(context)?.settings.arguments;
routes
命名路由
void main() {
runApp(
MaterialApp(
title: 'Named Routes Demo',
initialRoute: '/', // 初始加入的路由页面
routes: {
'/': (context) => const 组件(),
'/second': (context) => const 组件(),
},
),
);
}
routes.dart
routes.dart
Map<String, Widget Function(BuildContext)> routes = {
'/home': (context) => HomePage(),
'/postDetails': (context) => PostDetailsView(),
};