如何在 flutter fluro 中传递多个参数

How to pass multiple arguments in flutter fluro

我正在使用 flutter fluro 进行路由。我只能传递一个参数,并且能够在页面中访问它。如何发送多个项目?

这是我的使用方法

router.define('/about/:id', handler: new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
    return new AboutPage(params["id"][0]);
 }));

我是这样称呼它的

Navigator.pushNamed(context, "/about/23");

现在我想像这样传递多个变量

Navigator.pushNamed(context, "/about/23/newdata");

我试过像这样访问这个新数据

router.define('/about/:id/:str', handler: new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
    return new AboutPage(params["id"][0], params["id"][1]);
}));

没用。它给我这样的错误

Could not find a generator for route RouteSettings("/about/23/newdata", null) in the

抖动:_WidgetsAppState。

这里是访问所有参数的示例:

router.define(
      '/testpage/:param1/:param2/:param3',
      handler: Handler(
        handlerFunc: (BuildContext context, Map<String, dynamic> params) {
          print('Navigate to TestPage');
          var param1 = params['param1'][0];
          var param1 = params['param2'][0];
          var param1 = params['param3'][0];
        },
      ),
    );

所以对你来说:

router.define('/about/:id/:str', handler: new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
    return new AboutPage(params['id'][0], params['str'][0]);
}));

祝你有愉快的一天!