flutter 路由配置多种跳转与传参

浅浅的花香味﹌ 2023-02-18 12:57 51阅读 0赞

main.dart文件

  1. //1. 引入路由跳转的页面
  2. import 'package:app_ftr/pages/Page1.dart';
  3. import 'package:app_ftr/pages/Page2.dart';
  4. void main() => runApp(MyApp());
  5. class MyApp extends StatelessWidget {
  6. @override
  7. Widget build(BuildContext context) {
  8. return MaterialApp(
  9. title: 'Flutter Demo',
  10. theme: ThemeData(
  11. primarySwatch: Colors.blue,
  12. ),
  13. debugShowCheckedModeBanner: false, //隐藏debug
  14. //路由 (路由表匹配不到就走路由守卫)
  15. initialRoute: '/',
  16. routes: {
  17. '/Page1': (context) => Page1(), //2. 配置跳转页面
  18. '/page2': (context) => Page2()
  19. //传参
  20. '/page2': (context,{ arguments}) => Page2(arguments:arguments),
  21. },
  22. )
  23. }
  24. //跳转方法
  25. //普通push路由跳转方法 都可传参
  26. Navigator.pushNamed(context, "/Page2");
  27. //PushReplacementNamed替换当前路由跳转方法,新push进入的route会替换原来route。
  28. Navigator.of(context).pushReplacementNamed('/Page2');
  29. //删除当前路由并跳转到下一路由
  30. Navigator.of(context).popAndPushNamed('/Page2');
  31. //删除/Page1路由后面的所有路由 并跳转到/Page2路由
  32. Navigator.of(context).pushNamedAndRemoveUntil('/Page2', ModalRoute.withName('/Page1'));
  33. //跳转传参
  34. Navigator.pushNamed(context, "/page2",arguments: { "id":102});
  35. //接受参数
  36. class Page2 extends StatefulWidget {
  37. final arguments; //定义一个变量
  38. Page2({ this.arguments}); //重构
  39. ...

发表评论

表情:
评论列表 (有 0 条评论,51人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Flutter详解

    lutter中跳转一直记了忘,忘了记,在这里记录下吧: 和安卓中的intent类似,跳转新页面需要当前上下文以及需要跳转的页面。如果有数据需要传输也可,参数通过跳转页面...

    相关 Vue+

    之前在原生JS的开发中,我们经常会用到根据某一状态进行页面的跳转。 比如:登录成功跳到首页,点击商品列表的某个商品跳转商品详情等。 而常见的写法就是: locat