美文网首页
Flutter路由管理三方Fluro使用(三)

Flutter路由管理三方Fluro使用(三)

作者: 西风兔 | 来源:发表于2020-04-21 11:13 被阅读0次

    本文阐述一些Fluro使用小细节
    在Fluro中,我们需要对每个页面分别定义一个handler

    var buyPageHandler = Handler(
            handlerFunc: (BuildContext context, Map<String, dynamic> params) {
              var data = params['id'][0];
          return BuyPage(data);
        });
    

    那么我们跳转的时候就需要传一个参数进来

    MyAppRouter.router.navigateTo(context, '/users/1234?id=$a',
                    transition: TransitionType.fadeIn),
    

    为什么用'id'这个key?

    使用id或者任何其他合理的字符串都可以,只要方便书写和管理。
    全部的页面都可以使用相同的key。

    为什么用[0]?

    [0]表示数组的第一个元素。params其实是一个List<String>格式的数组
    ,而且长度只有1。
    我们可以改造一下handler的定义

    var buyPageHandler = Handler(
            handlerFunc: (BuildContext context, Map<String, List<String>> params) {
              var data = params['id'].first;
          return BuyPage(data);
        });
    

    为什么是'/users/1234?id=$a'

    这是固定格式

    '路由name?key=value'
    

    相关文章

      网友评论

          本文标题:Flutter路由管理三方Fluro使用(三)

          本文链接:https://www.haomeiwen.com/subject/gbayihtx.html