Flutter学习之-命名路由传参

问题重现

当在学习Flutter时,页面间传参是必须要学习的,我也不例外。因为最开始主要是上网搜索前人文章学习的,所以一旦文章有些时日了,很容易被误导。在下记录一些学习的过程和介绍一下Flutter的命名路由传参。

对了,非大神,大三小萌新一枚,如言论理解有不对请指出~

命名路由

命名路由传参在Flutter最初的版本中,命名路由是不能传递参数的,后来才支持了参数。但是一开始我并不知道这一回事儿,去四处搜索得到的结论基本是:命名路由即静态路由不可传参,但可以通过异步接收返回值。这就很鸡肋了。

但是翻到官方文档才发现其实从某一个版本开始,命名路由开始支持传递参数了。

命名路由

新建一个MD风格的App的时候,可以传入一个routes参数来定义路由。这里定义的路由是静态也就是命名路由。

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Vince He',
      debugShowCheckedModeBanner: false,
      home: Nav(),
      //路由列表
      routes: {
        "/login": (BuildContext context) => Login(),
        "/register": (BuildContext context) => Register(),
      },
    );
  }
}
复制代码

然后调用Navigator.pushNamed()

Navigator.pushNamed("/register", arguments: '我是传递参数');
复制代码

在Register这个页面就可以通过RouteSetting对象获取路由参数啦~

var args=ModalRoute.of(context).settings.arguments;
复制代码

然后就可以展示出来啦

转载于:https://juejin.im/post/5d230ca66fb9a07ea420a220

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值